200000
107738 86046
794649158 468659550 470657221 446187232 246368496 597323868 652089835 396391569 224690274 989754839 182114414 421541875 880425559 539402383 862773852 411410872 955997189 726991988 133841597 819753674 831629004 652672266 186994524 930877795 787422332 149515809 938310646 460280529 444354031 393071726 926141122 868066408 824027120 339948715 230730368 673309724 205870882 669426096 944272100 534196964 348640227 454489279 146501192 759996710 565625873 716079088 916726753 967466386 535068382 588223821 356654289 955108762 217243293 625613665 781868436 916770082 612370978 821630567 337135301 821381171 422681242 634962988 457272292 526013509 823932716 181844965 911624115 157740516 534598211 621124261 293820940 887251477 982903483 851926863 962024937 615223822 912941512 391002343 671992590 894137064 490957231 211021624 326868875 339080166 623589999 706480622 239462126 866528568 858792062 430868679 411277950 366461907 670538663 309365084 323670150 785712333 456209277 223893192 593332208 452548326 852167441 113809318 344048318 390366007 985635709 256843883 135517666 962717519 578333097 774913556 451464825 904917190 644800838 578516775 870217541 782508672 674028040 559363923 928773446 465969043 441942227 254393491 488637429 263308607 189444938 769344891 281277155 752196889 990790970 416300654 776059283 877259588 170009573 968476417 597010352 719397411 688246110 487023098 998976825 481424981 899608688 419644048 813115977 792858537 316461140 619366037 151384276 234109285 203149209 791815385 501162063 340740328 984817606 721199065 191804934 707138948 983746983 188494646 636201634 373779217 938592580 204497233 480188191 123104904 566254654 699055417 829713317 342722623 385418028 689900338 844781651 791209909 969400078 632160554 849995076 782890298 823877346 353330853 487281202 806686991 119709134 791045114 810121009 977741796 493537914 189529823 679627888 101471809 720090274 500702109 264985731 825126680 125461223 836089818 446803993 549877007 898752640 269954276 162145788 397501461 949664378 462358897 890254619 693921864 305214985 213899208 675306811 510380157 267921520 639808178 774749673 205505725 185634470 820636224 823612353 288578973 328675955 976026870 549013916 992796232 944501664 147284498 274605799 440191995 866153532 377685080 790742886 764012807 903220586 128187012 218097420 557074596 910556592 652446846 620665039 518270300 169708575 431794850 219753961 597137871 230925296 158710794 881328086 858433774 996806501 615654704 852002806 931806791 781367953 502225141 769560650 563507078 891083686 100834802 599854994 636377924 695648002 668717628 482886715 546473330 458591451 751300562 474916983 717918517 348700334 898576018 341347396 286406859 896167515 325794749 393354359 871063733 312311442 150035789 762161338 750071694 371030683 168195649 855716093 910788421 905861283 409327832 307868225 566501932 334775229 288394732 469578936 746264744 972592201 391399010 516031845 375815378 382406766 859676678 560008987 518395295 425740428 845988045 321530674 696782876 550245714 112085008 249411091 918091669 656213759 413772646 645287030 286400431 427994524 590196539 325496489 456502578 989865864 895741207 515949482 351488988 946165946 959392847 468003620 573972039 976112391 277250640 446473105 250966696 900471915 907896442 742854255 382591872 752446786 372756581 123571343 674530473 391126236 556101562 471941895 522040609 766152084 325411239 978813234 327806182 928389938 660301184 211771419 826128594 582418582 204407275 430029526 709299966 894656065 691441195 666845178 178415823 743386629 630134410 458670099 306986730 606570950 264468222 781107391 316938141 992630577 878712114 456399209 565488563 720437110 117220807 467190594 491321975 140439415 741708355 672390218 797820330 767489348 425077940 641767972 338935322 321972159 439382053 784568361 285754902 989275750 414082123 235861810 147146137 174518959 456469252 253050749 436262402 191034481 129558286 684322458 611506370 907646007 204510114 353697080 320332999 614320048 355519664 758367388 568145903 759315693 215369972 306781574 697592860 403753735 563636816 847672943 100101812 370494846 950790555 730365558 293024295 812866884 490147610 805608699 172992069 630299730 978922571 544704012 233738888 114826380 946915863 188345347 560590266 304120967 606183953 301734180 442859303 706948479 272159733 121351601 433618003 886229022 428359005 704429127 951108446 873365301 681913609 995394158 909441825 283444975 638684606 172643367 646002412 253662735 488730095 915973407 269363582 341286775 122812325 508544062 129383372 750455279 227362696 374848136 461726210 970671588 138158375 731441388 910544341 282961339 507661326 148886329 238179478 478653100 437222724 996761534 142822553 472715410 170674916 180146576 892634894 494923980 595735318 122102160 303516289 758398024 192907914 470766740 467853097 976849375 890739353 664107443 750415308 943717667 893292049 689159109 553648642 330316188 430180092 742037661 682916778 310205128 485740944 216826826 711387198 254067422 113711406 331989015 235812626 857390238 115726126 210268640 638944540 640455207 613369096 784954642 600015729 234795396 729699941 120760874 522269342 538425078 392704435 207897319 284415307 722035453 206464723 227976843 997934973 151200568 555161070 832640711 479856235 579939251 630989906 996007221 793878340 844966018 273483099 121832223 507457969 320074895 107446070 426070562 390286300 884022619 100499124 491095934 535629488 492708716 446769044 342717522 228747452 815366899 973445392 939268020 564817603 475127339 796584217 799462747 889419741 243203273 851475564 203008082 534155056 811937353 553799224 815833877 540216390 120269512 606629425 698164160 235770655 770888138 539350207 969278779 711043556 267493057 500453022 122874947 289303831 296631853 564086959 906125379 296033760 954516494 717041205 281878147 684418074 786331224 874720855 733463671 218434926 550808236 338098634 759535386 284189357 493589598 540120174 791976473 603560568 982973216 554052405 249324227 899497055 464133682 715347080 505813881 866720744 534246248 327180147 868500059 326235039 802912334 237064143 494867641 804377667 412221202 764533096 990270011 874631442 745373190 749543331 260909551 668880501 744327934 774886656 803653769 746961027 479621898 492574686 482650459 573713347 350848625 156219734 508857760 486104102 846060980 844748695 983168803 546087115 341744090 141091851 802761583 973401314 630489603 714826744 111566102 533553909 317295130 291364256 162360385 748846148 942460096 213578443 686152035 595113967 781754055 569928611 511462049 510042546 288459338 664030400 770564862 574709303 988594240 144235478 922852050 330241134 490955713 962768374 125268689 168823653 635936639 551519723 465152111 127444178 661300324 575428396 738407271 367497700 449402292 767640274 408413303 195676610 968328117 116426458 365913233 125125683 777472138 530586908 710057917 740673673 376055635 221596405 736204235 275598756 956761418 455322602 111234139 582190720 495020675 463514603 267440059 855438380 602613159 293381566 789912492 891795452 670306077 865099424 425562613 564589524 441176295 740673634 582558575 992848086 130744370 695212152 957563866 513367926 680036088 942132317 469613169 700115284 179928623 245695563 125880887 176491299 672200086 934308484 385783347 451812102 842635088 552963337 157406446 238743418 206507098 436573716 266299522 134957789 334062718 614530360 702790652 133573914 565466340 885483504 106398148 296519275 536004008 517531859 278390076 285394437 928062881 114101483 415382762 131512167 433600781 965343906 464552276 250738247 637579997 508396889 315735521 955237175 154591698 366127486 305804579 478338455 396150199 382418449 177871625 700090428 942895436 466853169 553961642 439522107 695293878 537362546 174158529 157544879 680617698 720490041 149941933 430646386 517969094 828386213 204233031 850563216 623554145 187491259 114157216 576619947 357645126 254627074 503156218 420830439 144218625 737505029 384802345 889563606 372824320 131968900 822145473 907481046 985030800 983410461 659205323 516980632 838294351 878431387 313903775 340268219 735463745 542755188 415037719 118375562 269526768 797934589 493634555 177575526 748937779 396622793 437586086 312201657 528123857 541595507 496217018 470010889 442354266 555378818 800746651 581567029 265945536 220063126 943646392 283536104 458045583 637333476 583807486 873556280 582778278 221358242 722157948 642613938 206553086 793443237 597659458 300146361 923823616 870648947 226354435 595183833 426194759 996919581 277596761 629299045 810419661 952024853 883596474 185982147 244229451 320674754 800945443 179323730 639245766 652607037 921367885 132230727 897566956 733583703 159516327 892649874 861266180 167618497 697576873 147454562 383880389 331091871 192792806 440452826 244119906 366054803 973083059 718388081 331770146 807553668 285106968 963896758 945712255 797742755 932094243 820166784 637474216 162901280 166795806 182659732 414205768 884819774 935947933 649727160 515786212 345170212 935455541 510675137 560395492 101307179 934106363 165211724 812603866 621652799 686410310 813838531 792852117 794269520 874863853 391054625 840387547 935493781 962432370 260206771 641714552 139873150 269863549 825258607 278093131 574947070 537664965 626953154 128564710 386434704 368019658 572240487 517815350 223951585 927610402 107349366 200855663 526065141 871331499 376260369 430727888 277231813 840306023 792075979 130588453 619037328 311709323 415243248 863550103 809958997 200541263 889311318 966992389 405394434 880210842 517465661 847188436 638736551 255924854 526334027 638419770 611780740 995933281 694110411 862709321 967398903 577151247 439197308 752677173 624765643 581399585 989076993 908462534 565932681 151137870 532745587 906551239 849156778 918664703 215511256 345554527 831540812 423018901 837789378 952847025 660833834 170456361 158409714 233071140 233661485 436997850 187466978 981419011 482835970 170145790 973781285 995646968 457315723 890203550 496791570 927887081 274031510 533364488 353550666 552955427 376586475 123716955 367617650 777353871 737193609 310609509 990372177 162833497 823378949 346207544 379064377 703082405 599732397 378176900 452248813 274088584 114941262 969401741 736450355 643183129 593811713 978745805 450770823 153144587 945628855 722537496 624360932 233127342 461182870 323125778 478420715 372088598 913147938 845175480 957482260 237480103 678318589 621206551 632408548 183915000 255047825 261952549 608949079 996713383 138847877 283082554 810899245 425986827 477863173 542532935 951626685 292580274 714309551 731881229 538830202 304199217 843884305 970114034 999539278 156828758 160072025 144707141 730315339 136570973 868287670 706626911 232482370 608129526 530254293 574621877 364183597 474999991 944508345 873681942 358080675 945028207 168389913 128330176 960874123 165956426 143553087 286668330 363317402 777240978 968392430 380465200 287857743 911687722 796218116 342506486 968798263 310561314 226697802 709780696 905346526 184445792 976701098 780088424 124435204 194861238 622627248 810101891 449114336 745173015 929289588 913655240 225464824 258618895 147020358 910367939 357729362 659268595 427422717 937180037 514174535 203401120 102440685 916428118 242179460 547520809 537032049 341479817 234606637 327099274 247876032 889475388 600706940 674220747 699968641 346753163 108367877 460138650 140860023 181988192 414563305 106613430 989397167 545715419 176261511 360629243 406444676 754505511 804869041 388457096 347825646 853580686 432926166 497290966 680845791 628653392 398632586 307922009 807878391 411903723 963321690 768022459 849296998 591638790 940521568 616916627 650771494 588229715 299160946 804235337 671954898 729661132 918897191 830697169 704123022 197663295 822624316 517353678 149067299 929894734 356024603 100227824 541422987 829481431 710275132 345065857 113255308 538907328 682222440 178182555 745681288 990485053 780135794 138880312 422862519 443356057 841209335 933127104 919637480 751622724 576406517 578113566 642265849 715161294 792054381 200043903 909456505 544604889 247752879 719387653 628145712 800340521 381355444 409449731 432680805 336074557 175676346 955774646 633544496 212408439 720129808 832115994 897243869 791560457 779246045 494415500 968071006 739118540 747050768 199339773 370440476 945455667 584183144 245302389 442325652 701995914 393264396 409563785 140522284 391348122 400727236 883033829 452856201 189303846 969102393 712315341 684115342 792556054 960515059 910530073 795285619 264287313 743357077 518845258 245175716 888402743 471128743 772755745 374786398 435785837 671112305 136017921 479966207 809003084 130301505 337415518 238728101 285826293 584189384 827466962 463101647 892558535 709768626 503633894 834698882 426783004 594065978 628315149 754145629 383995784 658960323 545680101 103424323 994216401 564188931 523475517 516541558 373822549 682294212 661855652 911918448 673213187 249841725 971020535 200084068 957015916 944615068 549778485 636839091 913607941 995982729 495107755 522206185 975866540 712652187 413160271 224760545 751923236 833532315 361491671 355125928 565885951 377148194 924863645 932634300 550984191 391412087 457810883 914170846 773627180 189741350 377503023 474890636 330054917 581614776 255502645 296864020 141365996 429418579 353132028 813258561 630102354 521358825 517464203 850713742 942241712 384716499 911039420 452709295 571964265 683522923 677293395 957318464 106071746 866216637 348071670 899327388 227212737 979481101 475660825 895137622 472342711 296651972 182088625 907692685 460315681 267435030 983243518 655864099 986055377 713551749 146996740 985941973 775361794 607264129 395556171 155648230 248766307 204577290 643875221 158298454 853160485 985135428 154866475 139138627 485370176 966007111 112534455 189624760 554953805 654629240 708923317 590802132 962350686 964567165 642409604 405358873 251808940 764928044 892175097 566137418 135242586 603900805 724879519 254349991 837421471 975241816 625787747 302655623 364917735 654595758 715692563 729158641 323166139 151585033 172494212 503570811 356976517 893908172 966350829 327160050 273242009 158929523 385169440 322897329 350959282 590982987 398937891 669769607 954643631 644965066 792573057 168159032 278635435 829786158 538906181 993630438 964909879 457540482 213437086 809694155 815707151 821471834 373895987 468733196 192977491 422562778 127691635 412489768 387416869 314169500 753451573 542936219 442718722 831083790 563753964 292925344 499923481 362860226 815736907 597757842 314447036 784815797 526799057 685981328 751046924 345716264 292469659 242440023 777101626 115101121 136320948 130784074 359295317 369969565 901283797 259305859 537186317 601691819 168388257 911240496 610849847 192619594 216075861 953122043 805397991 845478450 600318345 350195096 425482678 128461150 214528434 858244047 369829490 915809747 306354646 250624085 857760604 776501524 272388168 247525463 826926917 124818634 950497315 648872133 345678217 671428452 482978937 607804514 465944383 298442588 780448723 539697416 913833612 428749995 664171965 425877119 412110380 665432333 770081375 585902070 821580164 637939837 243637088 950872611 807738927 902216593 788722494 949328846 780321761 297499617 719044879 732894269 483859986 159644819 479542364 328559353 165209729 735226299 489957076 241402799 103692418 343180055 445221655 509549031 883491787 749214747 625545751 535087883 141181490 274465221 838954278 193755532 814256961 567983190 662356848 432370824 539170727 607835818 590736652 857113030 169705673 875522431 267408947 130123454 919437101 902116494 943138443 219856657 153030512 281105030 697551760 328886542 668058662 918187736 372049922 761477205 362012175 654286518 229156962 261695338 100263370 547021493 284076843 409424749 215793786 979877081 491344081 454328217 358075088 797762418 419680519 153073537 292442521 538190245 471908245 246327781 511101556 498092384 729252059 262065452 718562911 624890280 443746886 588698472 995883060 618458226 747233959 874638922 323806373 685743624 614279810 894349462 164417633 210760641 885135415 607220889 316334704 613025894 121044554 655330155 499591051 625556263 577040574 521295721 671457708 442756718 936182411 355686690 676469370 244768301 475848085 141413155 532563522 703145134 425173345 871522884 335312578 240454690 278985130 784686964 173922458 596910298 214902319 908605263 722936473 203285856 666609250 187215300 332646973 194270970 879462773 509628321 981854900 934182084 325559531 198178968 208136289 703998853 925512476 966309476 718361167 723834306 862849191 558879088 678650294 406938623 969019716 675641252 640426595 460377207 983618875 766087277 417794209 941976605 726624401 296670365 604184387 243020064 816153412 360653439 530290355 905420887 699501600 188728658 641448325 360654645 202329262 736914146 950704527 609162079 410945812 211313329 677996151 971260403 273270313 460665613 663240446 575100655 740673716 896665618 905971565 716688987 728130374 172271335 342554815 261486230 906227384 204338547 247654799 993999075 916053481 641756455 274754648 548378586 737983896 660361505 364315681 498196955 991702387 521060127 565141504 710172367 407338196 226202827 989363173 630235144 820479111 788647709 783001416 425712305 555867141 106041220 471226101 637983576 162507807 367177524 267104155 352628632 808303773 284420967 983068511 322475214 417417130 580430349 796268348 783201640 172362667 279539555 783982341 541219174 365826925 713573711 861298156 676187956 731751154 815510656 218419638 358557972 457002496 296472206 428553517 652015787 179077614 912746665 408715030 294588586 143002911 524692944 349312287 947415930 763870227 419684646 750479212 953923258 947568361 552865002 328493075 919595476 881382401 596867183 843117092 523416343 278137618 673839461 914584867 319183698 614052287 596804876 859348273 456763672 267661198 585635483 593008279 695790424 582170468 134485652 421040913 365492008 471378292 427620859 630704614 353128197 509309578 310786420 734426961 100550867 395130223 798926638 694288801 984066832 916653089 128265006 320843682 780599936 928327891 584191112 421560519 751463436 272688940 557713123 376887369 223186782 721015644 607687125 829927830 964972843 621467099 620605375 313297418 135689217 703007813 489631020 389031809 988981506 624273246 149610566 706929050 187758874 934418533 368565540 984742006 524935713 417337975 714432022 303542908 940746692 743398069 736772587 213456033 890387273 376064508 293694601 124996582 633615691 781528292 177799099 478962220 680666850 320447320 794993355 782213108 279409964 147064788 303451128 698779346 583557024 371414915 758355574 273977084 997476081 198934650 634771210 847962754 861314239 284105263 335138316 328088010 296446696 563207073 358856842 626512141 792998603 387766446 304976555 674537952 721592647 268320414 761045573 808638616 745539602 247920796 183679146 475323414 502831825 489693064 133723979 356672520 518502623 423501290 521784367 229795833 923335889 842235345 675657932 153840461 881506500 624837839 623365391 258505191 747379642 680810070 768684911 367830860 158373702 446870853 118025578 440006248 233630548 390219781 785245846 390468977 117197580 886456985 356905452 731688701 278083168 729074776 910565364 334398753 624337959 667467927 853852309 595275738 405048754 428003598 623851448 164988324 128042089 947513255 413303308 463235420 876593056 295813063 890369931 377926048 858041767 970531132 570140482 934374399 345944471 615031752 669506690 259591897 659905248 146611255 102473094 865503551 468857623 127694612 853820012 266505968 576107183 697027258 981110237 639935166 451481204 508394274 615623763 474334685 832130648 481952465 236638369 891068718 577431545 696596237 726735671 354788677 472837236 155615964 613447782 100130310 778581070 945574862 151714519 181469887 654392545 699200663 670189812 464552304 821777704 129178098 734045572 102398660 193490499 341161727 704649156 194839977 963760316 445925201 182919163 653658445 487427415 390076132 967518406 902285850 204302083 121455767 273871158 976425630 717084564 925112453 475057265 863296566 183056907 343308141 430695957 533110939 770530099 533820864 242837550 450932993 369223410 630714125 640583028 685273926 194194351 924157892 471536497 239686221 259078966 466587230 348232296 911660661 804269219 671829002 148587818 205810850 509641238 453547609 847849102 919542863 734739979 678611277 433992575 848543396 142215463 702787301 316218518 539120668 389103502 246930576 800025864 394261612 330312377 593657969 795245445 256068633 689379678 654564112 327044798 754080010 188418202 515861215 799158385 391723975 213708326 656408439 105030382 152746068 204396471 522739870 705039463 789871426 227882729 527020403 618477092 305766642 150455073 138815911 161013703 883569023 264073704 322777526 980995141 342549193 245925584 409818043 281229790 650624928 973106779 905382920 537240768 889871487 287516884 282734891 786025812 212984734 407753380 392264950 939582307 474350408 877517561 686284197 953380352 879156079 720282913 988416685 189099791 604244171 395733286 374519816 142597954 492162529 628427436 699450715 261666774 771460765 257178979 684894524 395964277 375719344 135616216 584422407 742416528 341462473 685631706 489468906 646845490 598261235 812758104 237227659 772464816 354617827 288635004 349596427 123090741 785443315 757974658 794940991 703150353 118880099 147958869 904060996 354585182 341356480 898700123 423440258 443058828 386476081 161405751 293874960 382774704 351971582 801620873 129237311 791268626 146435327 358785031 749739599 504494550 114776438 130111130 108171094 885720727 463949097 422054167 583359491 899175269 167315470 874403338 236599221 315260826 284448949 656543182 700493420 334627828 424702827 710296326 574979098 458881855 414034257 111584516 837031164 434031455 759228475 434247663 558075808 835793495 989133335 656100211 740130927 340512902 832354533 164258271 416883936 137157758 818211563 871646460 799735920 475935756 339840927 603342375 775944657 116505139 116342594 870889789 277274353 601095827 159584682 916154225 161761443 648507038 109929771 986217156 822756555 403887561 691915862 819449694 112492657 558155573 466088025 392485370 414884229 451675851 302404468 138955031 318156416 185657338 765913973 317352003 163711807 532115364 529911281 460762591 321770448 797057291 694284434 342629143 507011347 129066564 484586182 647678495 817120081 533540029 877522002 419402146 122459982 457545800 770296666 374254458 649383391 269036077 855096846 848602622 176663916 849680433 189849902 569480191 937539871 977199855 215069129 762775583 766931635 688065138 962852373 281011193 942167954 901214700 373360330 586818768 833749525 642435699 918178106 539394054 687609051 543117030 684295289 685837957 201451969 884346166 256664164 516427266 722002397 694167398 591442130 928350318 671104338 499865389 517610015 431216262 689964117 928387267 102892915 731093911 327774252 906500596 173669628 612953532 537116162 477613306 289066163 269806036 471138851 268950552 612273252 468922382 356693897 526910154 232019575 513842030 887734102 131585437 923960711 127352995 418494039 978540303 526553944 872351010 842449920 895384563 746955178 566365796 471065490 741085219 619635083 730891607 428434219 892307633 492833365 841502850 956922138 671480730 640420716 363117459 241885805 713769494 248518703 552918921 228881023 254057397 519053738 428468492 476618657 118330877 881310188 254273469 353702399 541916352 851147461 156897922 618064040 956768266 790212125 700203899 905651075 725104252 925152048 447063187 708385689 934009664 921469451 362805477 764772457 384567384 819450539 947145826 111975342 713292772 455796517 375504066 493741675 955261191 638801121 165729688 384347814 616535041 520128212 516983680 893053157 735739882 135234866 414476471 856281945 911855614 645753187 616018898 394458592 117525225 586256416 827605606 372747393 191130433 753199287 384015732 935392220 479366415 560176936 687548000 407614045 974219163 444122636 483751681 721209780 394553978 981870276 422271131 190319926 872636691 521801948 877872061 795516147 767251600 876875170 741950430 139881975 794252836 518111853 126375255 221910070 230516644 986777170 292694854 100118418 251585007 485385164 705514676 495464804 873547540 935150065 356407884 518430106 323546663 672923558 455655527 431087527 835457244 287711586 407953347 674031211 272751755 668598780 812562031 821940222 563012671 836327676 468755513 221937633 667833746 132392280 870562751 747439878 930425841 520673256 363319557 809478964 763233892 301434805 354434071 421187808 741521968 607567271 717497069 483870828 540595575 950809348 425509249 327501813 272036529 300657905 201008423 163537291 526667606 583443736 509045446 516797575 991815760 187179480 129130347 137939738 624372331 826466793 656389373 838483997 511109242 266837377 852604432 719178931 990071469 242888110 380349247 749599617 129733297 599889128 367219226 628500221 745414131 359659002 745216088 756343557 655525022 367204959 887801923 627028447 655542526 259855932 649592123 863813839 435619503 396619047 579811413 607834021 938311536 372795784 701821818 676080458 807149452 636089479 989760567 494810913 848463426 535913024 320623328 430392075 487315629 136995418 963685247 578243352 768408229 850186473 290363746 471921239 254848593 935167664 696234574 915055890 823572052 247846097 745461652 180909166 465164323 267224514 205636249 217121301 365975239 432220278 325625570 363897624 176524701 491302346 491205992 403991799 513734336 887829584 994997035 604663122 985690938 513698111 309920149 324023455 598413329 163648347 850150972 128526121 557260121 641244511 428991582 472686743 588081801 339661711 307644435 516062576 321321724 438193834 518686947 432890134 599134481 550967690 354081211 838041616 201382828 417701906 310128391 823148369 440858068 210851268 772789638 149418560 263499581 589050154 264287281 777541731 520925374 586699315 830009102 316440639 666848000 497730782 646545171 412752292 308685292 984777705 823037727 596609251 257437360 801143815 781646508 866266065 646366796 631920197 726794684 791631609 418005956 847199812 613464105 116636717 371871092 522915529 205893705 153570168 579946743 637934593 349307666 432913596 189058039 903368157 508577870 990733424 145127361 939471866 519332172 881084568 686585123 569783171 745666910 711109816 928789530 517264103 455412692 812504743 841732329 500975355 777424334 542344734 268360452 218278918 840323706 699436030 955360331 238851193 425069239 836448213 965968202 544270310 844231563 970542006 312549636 859629224 293031736 604890024 180832235 463181751 996484165 228185207 147741517 360913294 436906340 848931634 644648264 290476880 146891688 282042367 342755820 425986529 597605490 749580996 447914254 685953978 127019891 688726775 496892658 658389069 662424108 218417441 168237587 267250369 115191199 978896303 277567542 150956794 113285495 212543020 251840158 756266362 911086666 598522515 193341993 204892618 786071146 870528131 560388838 879109242 686081977 818457122 496840199 317249406 866147858 835610717 244366890 555291021 554324582 967310715 872366965 543810611 870216707 895198290 154588886 556679439 913630775 522231359 512031468 701268446 153636962 867775142 406554281 905873734 537264468 413845131 329987794 453614330 616611677 923757907 324967049 457884405 264151983 305558625 563685880 928212953 626156864 457650361 649788952 768160719 991425087 325949409 699300732 490105876 589079662 780564809 788668842 413453201 450174176 956230651 864330491 719556922 764071565 163181411 485593737 281974084 408637590 946178406 729780084 329305678 533770203 473453505 625737495 313670242 868638259 265944770 815453419 474572229 307995786 627906915 368429629 157238008 971476092 209685247 277723324 238300054 622631178 628337936 591168139 750539547 514011534 958495586 640827744 567842869 564363792 967878400 498869276 198361090 459105936 488318136 716315066 372092609 531977918 248762494 246720506 967136761 646758733 785844328 245564582 390411210 932019536 331020148 376428756 444821724 893714770 502442469 177386410 728512440 178157507 726236239 190790171 155037379 946417553 281795227 807740158 895397684 398397982 849265682 642967161 822098061 862261804 983111956 651557736 860597040 901801083 818459511 409590273 277090149 373561660 968828295 294100604 419000704 499716513 502221306 640515488 854571696 805624869 905545301 272798827 941999314 758700120 168268324 151078985 182530040 345389329 730298892 777490329 129204763 194876748 831892162 336061766 423251240 911709974 628356302 372191528 988594676 929173965 939390409 685444838 841927367 994282321 443930354 114340736 406126350 149945453 307168724 176617275 793229411 874029842 910252713 764186060 192196398 664956395 764507442 178272366 300116342 998454124 193421266 697865815 415870082 456898157 568917879 147266254 818838709 747283463 535969286 331547081 886715354 795410916 505517690 785395081 657473252 247923812 293368957 379132738 330843446 341214429 657336334 821163826 146153912 777671752 195304320 462125957 832259008 939317894 718067705 364807304 710234010 443492703 239907652 976255000 816013095 266101803 992816266 286178739 819908658 891925961 146980513 421579999 718128632 232248002 190506223 261443565 864555213 621258565 372734052 619989690 744548210 443872882 132488632 644429132 633053200 644654834 942094494 658109068 584886273 330541246 960114296 162769839 869253410 401996001 947372612 449501268 245351580 869491471 741469523 944676060 921508904 769843013 704599518 396248171 534370018 699346562 661467650 802931960 754512408 274310497 239812229 775623509 991595128 312774104 377041418 633425375 419721317 947302595 127534950 152235171 511833191 381977732 446244290 419513821 330705590 249128153 660430007 375188110 869918272 692122101 877848900 645372550 348662099 935974073 659589059 477565675 762064217 494766685 528579664 786643905 935798191 101766910 962429844 193534615 361986448 359264378 924914442 428130303 932781843 764038681 647392928 885368674 110407246 902102600 897632640 900811086 429373277 767939717 661219560 478186482 219981305 762327388 218487745 557801376 676980390 960394616 913442075 151062048 462680997 440258005 746387318 650367082 943696283 128192343 603086844 409844762 543011507 969211894 891585672 850501240 555501139 421162374 152968252 624195783 175292726 858503590 111031220 268732741 392321822 452004646 961662783 670656260 940692709 520100274 319412738 680999202 755333812 346619714 506700631 997825454 315328795 704453616 992892323 586012265 927502946 227976234 675547596 256368302 367629741 175821609 934998627 712784404 623504068 137630485 680190450 927505803 291494531 818940240 361133043 472125923 722263958 966567574 541515088 324206040 651752118 253588517 996452874 310463507 678039222 321765088 269121810 327945424 983544144 363823043 409636121 372088000 819532587 615164670 757492260 162953543 637016831 717100119 776709829 681031644 321412962 589341369 994083049 462270286 566692473 808578918 649729908 640518412 810492104 129525430 389746255 196030367 429454073 374901253 511198122 761447811 448616093 592457326 970013176 994326563 981363132 714975029 165242169 674230043 255250706 900915199 511052930 483859115 941505982 311048196 423637534 717158818 942508661 208173544 728374991 755175602 706808770 536303398 378606596 254015669 143128479 879508794 961620305 310031887 229920224 212413252 451396155 907202638 216674422 689251671 538551814 149016629 771931103 997627012 132728826 375298356 810880690 191914094 957758877 604024972 847456205 432153428 550050582 548598304 348139665 478466812 457783509 478433775 852192490 374358925 249851337 554204940 680308343 877820060 547994031 936040176 152495683 512183913 276200438 829435139 350256041 133433373 626518275 812828933 384350093 953781689 284073605 885245739 371208815 142825900 922057523 134803614 643706552 304335910 183262436 492981065 791705322 235235152 874855351 690523404 971039691 740947805 839575723 823391468 792698417 424186865 682796014 645742918 558397417 491479751 839583141 522047328 383514177 355069383 708080505 712642652 694014428 579412847 433400176 570012253 489699566 410043050 893439760 941187655 101002656 658135770 601920722 601799888 491683205 583533194 765004168 370847691 984686724 150403441 802055325 896705158 991456109 643951529 326597558 913614961 618186749 218860001 702632462 481507973 190257324 759737644 195232568 249922156 710885926 118942947 687351303 877317713 857026875 686382262 265654443 916584475 600975156 524385099 582165831 187369638 226519116 613768088 365499098 604567175 490123556 378686960 377952341 478090283 850752876 312365361 421863260 833314057 368778062 372382413 299228064 671055393 188989449 725344877 659288803 410476101 803123024 618408854 608855566 103539585 864320782 588161764 491522810 252306311 348271007 935963620 545144478 115814014 240982065 317136332 791654970 486712114 291145510 746933470 454264900 159024240 752105335 693352384 691969468 461249273 709004820 388666876 668119829 275014664 210595426 722735777 109514184 894194981 778843370 150584558 451953293 317926092 369742454 813481841 905053999 371634355 400357631 928504174 458976992 856811664 804245918 836613501 926466027 627971775 831658235 913314784 503194846 146573530 446057236 468010620 677427086 917052879 616294545 201696611 804231397 669235690 690660802 220952197 997519514 281794035 969419221 792207395 984852714 430676666 756725571 416581612 809631693 127226896 714855765 157972750 644008358 126982080 889079986 930063132 214599029 597489095 376053465 967754170 913003862 431237040 390275304 646687743 182671586 731078400 589906897 472953522 339586119 329290294 208440879 620706903 903302165 272714857 882146852 732001780 411658610 996575322 862944697 735851271 351282452 503784612 880922985 707609246 610453354 864069032 144302564 483619810 312491543 331404487 570055227 283976294 364487901 667806284 942253183 589318309 834318006 514604196 823040509 232874413 840730692 707046071 174874007 979801025 993898009 732086875 302192887 563075615 513558466 411787473 340834859 413932134 378146009 634863311 300712460 134600672 329144868 404452350 221266754 493825823 404853558 906672484 361806151 226942414 379309115 728836796 290096385 281444723 690721146 575932698 455410253 678035567 610617670 374164500 650316759 147324042 558646181 694503056 714995398 587014388 986098128 698465530 777697062 594330069 945563867 208194248 607936546 890917486 392441228 241407511 225357434 655401808 217535967 963501106 911937701 180839841 652179488 862999850 512552808 975887860 521187134 400310011 764659179 892128732 256559087 376642599 513906291 234437681 746884438 419145449 645063210 115993587 517974598 410884900 513201674 971362394 308500356 704628559 536605084 480877938 446614193 558426113 276979813 580990054 886360124 559863395 897180679 725594650 440002811 142794916 988940609 526505511 527599885 146243713 219761509 647352681 586250531 287550734 955306250 556363121 448957206 571850669 463206821 252058664 140655313 600644987 562525808 325929907 807226649 422862169 499155784 231208428 624416773 308432009 598734260 582689883 911073711 950499142 476244140 469068123 656828509 235244982 561933241 983366072 136729943 480056019 712768305 857586299 738594446 133656207 154583439 998858411 744802075 829836283 111065306 425292129 979729197 563892586 999453465 975436363 507413866 826067963 818062203 117962709 602706820 104839272 267065663 267839962 386196823 179731861 172568833 746077988 980369932 157396238 791202318 165665587 197046800 978060016 722203823 365785089 503685189 855948297 443685425 385019825 267858867 398269026 528440634 513804078 288978916 848785398 101921943 997970549 716462235 890304344 443921016 138959918 697408206 949238684 325427538 916624046 314267279 686559283 244413092 662938458 752439783 287723962 940639957 138250506 304077993 973079602 333265860 181329896 172660109 293622491 341749044 184820095 973859033 985144342 294502090 954734895 860267712 180206914 952974631 466301909 376298972 863967328 419911280 749566647 356013972 892187381 546822526 131733185 629752630 210567594 226895718 650837696 823451890 813844976 818106076 805491288 832799787 572926406 585675094 231745558 495291243 888796839 647223160 581837703 717455153 953909276 671044449 909612216 220758674 869984442 830121884 830598405 248685463 638608137 856166718 178151158 324629445 996573201 249621518 426485776 845945040 383448342 744344396 809552135 318730733 465256926 892819560 121177381 238558964 249559081 213280030 932147246 115841331 243331788 738252985 766970747 612147482 532844747 156834296 823402527 531633091 735745554 988818013 365618895 667304584 511139809 496136331 858833600 971120533 439114891 740322736 887963883 376218273 898159183 769814378 443348122 241548992 328099972 969985112 576909236 529475269 711063289 583742281 591315328 439617871 582082313 106311690 978800144 852279889 354868508 569228510 725169145 594549413 651469851 342959307 258813104 800658847 891884602 570376970 163141408 318030945 136873476 874038481 571790006 720458014 206576558 105239801 806697100 770835887 802333374 298567899 649976757 745553471 769056134 366436408 348944617 851353320 499302931 109289500 175548639 364380870 206076018 802827060 658030635 189520204 481094128 458775835 748651155 446320761 575643459 537024164 633962084 390544636 803430656 221592032 804422014 398662458 948367346 714963108 190154931 730088825 675786617 268329433 928604290 519119042 926213171 197370805 657281922 720917752 521074105 291507071 198750814 767564445 201598089 590933221 303080970 687229548 723205707 188034233 976668840 796585489 757907477 324693541 971876787 229244751 698662351 310222972 322874885 608378938 947117006 936531499 144743687 135480890 553417947 549001016 386195182 849723235 105689367 948190608 178839846 154272998 520685284 813641894 991709043 461302677 469819615 132762938 993845561 720936394 584981330 541449282 224971431 358710474 838124474 135721861 465937130 889605721 769370090 735351712 810288382 347413374 246512136 555313748 515126204 910892597 263939423 604041775 604997380 710222533 803721913 503541670 381231125 191774912 973750403 554090741 922452928 136602548 620449990 977036722 380490516 768246310 676481350 236957383 464448805 164283091 619986603 426298239 582376463 350545218 227394075 940343928 203551177 853414259 626671511 459487978 864015302 844981725 932091645 496439877 203429585 349601796 722603995 584330211 488762311 886291899 875869119 727628093 453769533 804112218 663621396 304620865 859825693 803610235 397031722 694461526 447711104 813997073 658888234 648863778 558955143 952598536 244878129 365504903 571507881 224303913 363967653 811903952 735140330 829377771 748837282 686169876 454364750 609191186 145696638 194064814 662896215 597677031 303977573 391075056 519621262 910258534 995058205 158616284 839863353 452554999 613594340 648426917 218145257 331111973 798268252 389980279 433584090 762755556 798256865 722461858 739959488 912496033 162051734 524475442 475755024 850675965 784723197 749988992 895401882 485155577 159987659 774690007 871698244 411497656 992545404 220072104 910723097 647223318 208939989 509147090 394635359 562034715 834705934 494577048 888855584 820224666 199215298 876675188 712680791 418394067 975963733 168671226 247084542 125545510 303189120 544037597 643795365 603118784 197680622 325391389 320361972 624131760 203562281 107184986 320697978 954464064 892925654 587628232 767959971 334954981 319502455 293963730 860948939 388410369 176127955 712205343 432792038 571881615 783045337 730234149 536645826 374640926 796428928 499276801 881160032 964557297 468393127 120880868 310982836 420025910 748665472 195524899 280696949 121018874 442041979 818173186 687034499 617465571 948825552 549434583 669543399 935728617 206474379 834761215 782312725 587106317 984386336 236384168 531843958 865164845 144606204 771720232 704781237 598804010 580109581 622819571 270485273 639208114 917476924 859307355 809140881 407055472 305251537 281194194 788952379 166943547 553661747 929745019 205749814 563211966 915744153 326620588 950041277 313371766 413416358 151792988 235162552 709929057 111284228 259419416 380065588 648243747 507675119 301378925 164827522 438967283 806646266 703395516 699868909 502225671 755684222 697854171 457735475 409688686 608423609 986242072 441132978 683481844 554932960 513362665 921409996 820176405 384868841 987658904 308014757 815250573 616419940 428659509 106536555 482003288 528202075 482479786 498743425 782048437 337814333 715425329 804931240 769198728 799336293 300787086 949677324 679957400 792407784 516035305 524087151 306955664 466831492 245361313 950810462 218296468 156627454 802453020 750714964 974412496 869562208 307814738 332835271 104331149 894905133 861801680 112890567 868346044 978478661 770931260 117911514 636368578 325731329 604377433 324531068 285309802 198114579 107139393 431726239 583964318 522192007 778887143 516885165 903357368 939130141 442411074 471416996 970817829 926670204 395159656 202720811 382802306 761455656 116548064 849928045 527968972 255374565 171032697 802210536 750076517 740558367 942021074 161150482 321083643 723773494 972220991 918637674 704696936 946781459 712327294 955493526 879950076 850877498 577836215 157191173 760098562 486347989 295359058 635457811 982875953 298828167 173171041 239171401 262218425 186667962 657788667 734769192 200047418 410375056 409872886 278686348 886406379 722634753 692670968 571670980 524901087 631566502 994032234 537828628 397778842 829552027 801849812 623677067 731175086 533964300 764353574 517696670 512721703 611210902 545504715 840749970 546905750 265072989 621848821 272212166 355476737 987511324 561676178 482566537 565083859 381672041 933065357 246987281 814012296 790873617 812773592 322348318 390401087 517859760 322699646 334921630 375018078 116398267 691175240 829052720 836740429 129122569 779654068 296481185 739847045 251597898 578198772 731476044 948530032 237772907 556089594 292524607 240978721 236070562 371983843 776513440 281094429 852845044 849927023 426144176 537742602 893948057 152521187 214264684 524058367 507644682 920656902 617658532 964478459 133724296 326013252 877097080 229258713 318255120 468147817 568613322 113380457 467160328 951502369 477810778 401130869 861360563 115217594 802341110 546435777 783712070 610825000 809420723 863219877 989937915 734503618 958147032 752498332 332348924 966247651 336344627 468631910 769120584 877396294 774798819 791535720 868244255 741374655 949195868 872427419 780587828 297423470 372352062 375040762 918782540 160721066 749663870 169028017 627706002 424524316 861055254 180920552 390210032 870022159 894986681 658803120 528557027 224287150 172603157 134666127 692536415 812430644 894542424 210432262 677228799 500491100 214054919 865297788 684154488 420478754 779523428 974246771 453092480 234569365 624693119 813255623 845961366 372922423 770317363 216045330 984653140 796019634 226678033 879613250 779014312 896393207 978537869 917004358 198351665 221408567 824804792 977196043 598120534 404844551 342007543 119514151 494760139 720388579 309142243 893993297 524256926 844850770 921704434 841953732 223680590 183533097 415734294 311072015 822206308 367786352 552938613 721655632 492103324 427101742 532891598 364569299 137759814 672606178 518928579 503037229 616347492 997213642 334021150 131056756 308711670 611736875 661353612 724469337 414555619 475950732 762528636 419440759 359804691 752403471 567157613 764971570 764184509 323836042 662904117 832668645 526560595 162406682 770141537 829996012 490218065 820712882 129779240 783984072 593637776 983160349 335236828 188640997 448656745 837646949 790920893 406187486 262937002 551648822 121988282 483164884 943745269 486296527 317604853 382836219 848886631 963196768 892829170 135341117 704900298 108873809 589502838 179475100 469630838 729732493 602466350 657050353 914415212 405342672 482489875 559064981 256921310 189759408 177872184 731913471 323116810 138488573 111788035 144728846 583903168 739410604 827879464 278492582 514550044 222447098 823712209 185211698 721950776 116939628 909328508 122982604 814487243 248722580 816537711 251448672 951113027 692724526 167706586 593544526 169430110 593588773 825586250 520164844 273927671 779439912 451211271 342170748 784864654 280208103 290135722 199887700 782677242 563033748 536480253 538331227 509608034 281822991 232067229 430714328 654937603 864246936 536956538 703814654 720630832 422811465 323788178 972171528 491581128 338866877 583284394 314883425 426835968 724946076 615589322 129593510 112329999 436912588 358339497 442304333 451614740 667015811 921828950 144047577 199427250 815711341 518561435 178968107 233994603 118801967 310434784 745977404 416820016 823922844 656595923 639699424 579051123 398406687 309067220 722685788 531199970 526012850 267659499 170051111 274667711 913575716 233375363 190686317 822283639 548078024 990036992 859630151 652134488 647836754 400512823 470142048 123104346 746721069 257731815 872356516 295603621 631659351 648292433 178033077 878791293 942818822 105842781 374785959 971756695 623879337 666762348 597513195 891682662 233328161 572912519 620264197 421177608 751935662 310731069 364757288 855863780 252586541 123677569 520065925 615271255 344470817 705505465 691977915 497803256 162502968 968385030 155034509 201981747 342349857 378115650 589345591 684214091 703892989 735755370 304941021 168265788 153424829 789736302 169135334 497888824 341524354 907809279 840592430 282065771 314358415 631647599 360386150 408787172 876070230 916144307 817225348 469269184 566431035 826319458 698313351 320689598 400348340 920455477 441879356 317824305 459764289 612362447 591302333 498618450 219018929 475165520 773743041 590111202 129439508 620326822 743287065 474284742 242337788 974313773 809487551 802787230 528107661 545257452 841508676 992177709 924167051 213619653 765508062 769954795 911939237 409844193 954006828 418890312 546953299 203485238 450573310 699416220 511085644 765861664 470269051 395475161 519192383 134722542 859011927 181023780 666152716 206127245 272561269 586644994 751713814 839455042 723124324 836919569 404874031 553931749 274818009 895621532 498829021 845604074 368090760 856239352 760632686 634091335 149788771 399748916 785741591 837384947 129253632 199799946 923275284 715306108 842037467 558898535 271777372 109609608 912894838 968682786 933205952 695554414 162577757 594797617 658067530 606287994 950049826 813038145 523521190 375917450 432794870 311260550 683106627 391689966 279633698 607020806 790905039 818945644 525919008 258737914 536751532 470249767 382180919 357096307 438505183 660422615 940273840 416715000 518008120 933565337 259287131 732998041 417951543 799487712 873144919 198532723 713336281 425395211 433557705 438219839 914563704 964357116 565546192 372410240 994587325 398465666 994851516 794308483 226071418 614659174 496345990 145261070 779898352 898459452 636547727 149273276 727841216 163262294 533359945 455608974 651076575 552506988 943257322 939565400 175282756 313901874 805024016 915960100 117295093 930546753 540855871 826235997 412367483 514915740 236786087 817188598 145043841 678863296 638760977 131262159 400933391 381956947 703009379 795280469 333642904 259012720 468873137 242554545 552795499 129950320 378715737 338644445 702858347 316956991 422609596 402844121 115544893 900910625 897260695 593739967 253598780 798572819 715463062 385132322 895059503 801478024 967379602 677533084 250856493 922827498 849393365 414048781 684681859 764230467 899288714 311113844 894177855 929845878 505560441 174483198 639474240 917025406 322264010 659192612 182841631 907195786 949505875 578624441 512102881 100607832 122812134 777653358 138796359 832795115 960879263 697749760 907635056 536479976 503099318 885845767 991835762 136198727 425402860 931099767 778860849 864988373 463218600 325881916 330297592 183484916 265969218 661242886 376561607 558134568 878642842 396436940 175744290 956333488 434863930 355821805 723378270 269749142 856884861 681046683 182810465 194183159 539102381 573626539 170845497 482967175 246524297 607824741 832912584 861896290 686746744 815482036 774396293 581268174 500341978 768135532 529617972 301259705 135054967 141186065 679751557 410706336 136151851 697917667 686201712 962642799 652487968 783824000 169018005 587457355 588386257 355374668 920099124 765004208 136446020 290360447 693890686 669936760 734135878 214983378 531808116 616800787 436189348 120029419 303816554 670572603 721247459 337570977 677522375 777732070 571938455 333307985 589005468 960137000 906319500 554540951 738761581 723898649 163931312 646532235 533657329 493177815 960721154 521415118 702332270 322618925 657849165 614588392 584032955 903669463 912784753 165153812 913051969 551718923 671933359 920866497 971915103 585905361 924641156 561116229 793343466 143074034 310463399 703283442 487617533 809103165 461800116 114045861 801992011 818689130 980364464 945417474 131543232 661639170 129086098 381276076 272569709 322535904 697277781 157621071 819754117 561738206 498934126 820749453 771722319 925495758 325916450 874687368 374221976 617471874 901250125 989979655 387599030 158955020 923574520 189743662 602925715 891087188 657646307 714926132 625706119 728312035 905290425 765873780 153313542 573105343 335292347 581054024 217227067 446218068 465783557 475465979 623239121 788793111 911312318 669979035 613437745 111476457 928671031 806455125 502153515 965321681 631266091 423162334 697724839 570766932 479683901 942018172 593279518 558487174 510293377 195690165 407709523 582130595 388248702 286640746 372783407 309570193 209628281 280955357 206926158 244978590 872796647 125287802 192722997 111149831 548430017 424152577 561927498 525498441 557758355 566231737 466489102 239584956 790150243 835528733 544584248 675970129 352792312 757679647 484706147 627164391 140165127 431814651 403860516 582125047 730300825 355396538 462801891 968823974 857748668 874140104 773651906 610295814 175418314 199934147 494002287 558940659 573139365 557124903 961793512 729598611 199174956 745593875 187350708 296261931 985235564 457127712 190332751 865150036 723046889 891569431 863359877 907192619 172690474 883409504 509987745 727291811 302155978 412973674 850087359 168058378 160159391 423515800 300073063 178550565 329966315 492881971 563411458 226069291 157200441 764241289 695043032 829459852 710059154 218915774 465074353 558039133 704547815 778377854 314609527 725143172 749255800 565047495 521527391 112902831 838369386 639958702 576534210 333988072 773617509 710793129 936089349 157484109 851795813 105018517 557540539 963734432 765605359 634342695 262005032 626388346 911583620 957966505 769855566 862194406 110365797 353649288 892221845 419056830 502631887 425935151 286020209 268548451 803948662 849505011 680999643 939752661 788061900 371017090 194404577 814964521 989069207 512571594 266949510 739482943 912168318 164188174 743457005 519924556 240575797 615121236 773151890 531621933 882188860 574502526 844525906 678243355 293244841 929475062 991080015 505260714 982745008 864370148 674383127 211240774 234623231 720082964 758104959 431731714 452343497 897738780 549144622 883032417 601228286 350160520 597801127 761645570 407334032 504339672 197941830 449654090 670879115 118037823 283504962 466701769 525137674 496581972 100307224 931160849 191103649 331106775 229225265 848147362 569064871 233630694 310145805 856515893 378325582 528016238 509589424 670674144 434385098 784661342 795897396 556462433 700888397 765165649 522019492 954574598 787829598 396319305 235441752 327128902 662822969 416650912 701829433 641454486 751294981 649571502 644774372 830420398 468609252 939246923 217864199 469176396 813320156 926758104 518386056 386222225 623623029 593510840 760420165 916499574 891340627 392206440 478703102 140520035 752950795 120217906 493258909 906271453 798068942 958888674 320685244 187669749 835947735 500820563 414082654 266894306 663200751 561495067 637094400 787384625 605750135 466684575 288616398 427903511 320501710 332355180 234414000 760730082 187577661 227212509 546534390 493771147 353216269 190595711 575663290 429455630 318856453 299882374 395413632 115863234 623123253 734355197 214565584 501704959 685740370 733967135 282837753 771363330 625204309 486678537 628520182 292172032 356712602 831498011 334117574 742070488 526776729 977001358 780412515 381446619 992091164 441036071 635708608 304117885 332176111 746854126 943376833 484487137 741841257 163016578 920463551 736590812 792637144 884879875 122276662 951392679 673288224 205000763 180231853 812240394 665471787 130095096 437261790 427052819 782642914 955545837 928993660 369864111 620992948 198365869 350017275 512817261 789725532 791666252 517979723 909239928 232072205 746413601 486541429 169916034 581711721 703767193 692691861 502371275 701718851 948703203 328304903 907744900 706544340 751454157 904865496 803249846 431371697 635332019 968123044 320430300 644550046 407024471 754540105 929557299 341521095 810508241 629148513 358835711 424500878 648747671 719902160 382112661 674849183 795286545 126450066 373372450 380795072 148873301 558973855 476644473 375697791 842688202 112744796 894052939 944353164 240128429 155084586 633580794 868696532 735723622 689651080 661816108 789570895 647806452 424002445 596938199 900513611 245592647 336399749 914892223 798426708 463199800 209717682 132631313 291046556 341320071 291449587 114766810 594785333 641171626 226890155 457978903 831625836 507278352 361576180 600994945 820355196 573126923 638846264 229321775 361878147 797328439 314614302 532926263 343523638 913604568 566545039 851317420 448173153 810226059 529973980 931086851 424988823 969156018 700721374 513071809 939269265 545624910 156443454 892147369 886234622 526806935 759698814 570005640 285773712 776843527 430175502 502389316 107477262 485976844 751307318 394989031 506974096 853761493 611654677 958334232 676970043 687676266 942815616 678716076 549339261 595074984 204956741 620263236 331258962 346420135 660361100 202647969 706727959 960912924 910464970 772799213 996109803 980578332 378393862 704254040 192623754 705332812 915287655 492810722 321257444 712575697 156771992 867650276 146124070 939931770 812930072 282687096 639277682 879408388 225460693 821802652 370642213 154787764 801831673 835693754 317240139 578214140 164756303 680398436 471725731 949046120 585665732 318998390 511294519 325346766 298939929 294161820 966261880 747412090 416957852 712583216 400259194 669317859 820537144 997611578 871558214 213256268 383127202 425188766 597141012 139108981 196837487 860949368 255887128 758698722 600721731 124479735 213784968 973023648 605042945 997777091 520122258 265133112 824162617 926306652 295812113 829463267 675418188 980796115 269070679 831788925 610054568 585845152 640041419 409249356 533479388 799786607 682085752 640900540 723551164 549882077 675255693 962581300 976824559 811087440 312481594 454926083 970892660 636159103 381476438 874574093 557816155 543752752 188039088 402619364 745808007 936605134 448711131 367640677 334883285 444224191 653224799 733110451 220295964 390487268 194429654 568587806 894676242 670438205 283649994 275249463 338106517 843815648 190533192 553210839 753484488 534162255 985994040 148517868 957683295 313812723 822426139 505009578 357349278 779416121 293072515 721574957 252543927 819028460 936014478 635480862 614373518 202983581 690848257 456079912 458066696 693086262 470427041 858384339 675151875 557575402 617522070 927629052 209845590 326385091 812977993 302855701 966306379 909999360 155920548 589987128 485888937 390228944 148133051 290039247 761829535 648024455 659146223 407779890 750905328 762418690 831505948 318034182 178291950 326801857 831433678 563163236 710745023 531285970 460031155 922034172 976437773 148978631 917041442 595628839 506485007 925598515 347951097 488857813 111256097 761202741 974188550 773660721 427663888 114588313 143986550 188121071 864636189 430188240 222111721 930382384 930008117 833374076 611172226 238452591 796503988 783738819 545141512 159531299 423438005 108397210 541380243 755932232 128067547 817782606 447077630 136097454 307729961 922718748 586156093 511495643 651560006 129779755 406666895 227694450 119899878 599503582 341431669 250487789 758298010 202763051 842257382 808394569 586707466 846293981 292786857 125446052 690811678 449497586 428744486 375023229 457559562 224626161 349728663 161125293 286049872 309775294 235956578 598700279 791386148 704468363 577838083 140219445 861913802 407897839 732887783 609766820 398379544 178726397 561515540 811593544 184930043 906756668 285094729 197443974 384280738 200847906 472991602 778136815 610296765 779658270 298051354 863361072 478976057 917417466 773909810 103225692 400516443 452127823 805960023 415537665 770023222 848759307 978041827 689508912 227998273 965662259 646469442 889306945 680652131 798279135 372680765 379363509 267240309 905494702 407079920 815558656 270175401 142681230 331579389 262609024 793718850 514405243 822567703 261327234 328927958 483720258 433546818 971751201 540184178 955764150 489427503 571510950 841032042 447427892 372384936 541801601 500404161 783774173 373865821 189308407 617662777 701325982 702214251 301203220 633730966 266899605 456979759 935677624 461058050 988163793 116669190 994238812 279361162 528252296 315264674 772055303 794799118 986304873 368105099 423738058 152969618 586960634 616993211 314520403 169408230 206336329 304939697 412182112 161573976 654243481 437559461 284104191 447535030 269005107 429618938 696133885 570284734 554929035 728642405 494059657 328786685 581165988 765666489 840002838 376291589 994059349 563686962 975737126 795310827 393028351 601382605 237698733 503692527 150311120 932485440 404497844 710268193 920435655 340338300 506888875 220437423 804084540 430619875 410912221 401456862 700893793 412057689 437479227 769426540 828532376 589106325 940154378 141645253 168960164 866377678 609770740 470001460 928550618 955399389 343181944 573799611 434303962 146386715 211114854 871498640 326577445 297087285 969724696 515693156 873041529 723474922 794238583 953363948 961149444 543841734 947828865 173387039 424918107 190544964 493863663 706247761 442428292 816622278 144185334 453447269 140866732 229544803 913247238 236305921 455505604 391242259 817053463 291996810 245121227 589229113 330219330 179776030 886299655 746875454 280301907 408021164 313651694 439709605 978680012 426339386 807670597 854675133 129680946 736355949 797222639 618045727 917380746 865258835 159203153 960959368 326164012 741262184 943591510 508451108 723723348 779457180 298572491 113532455 370373948 834851685 529449511 142849853 533839710 608748061 989663048 149685725 893576871 645980555 106068955 866783114 194504307 502169458 386427724 226822559 282204774 609893783 157347118 612585515 244257609 806597495 668318058 216306584 284329987 957666023 635795680 983522038 348636720 380270254 389027279 958477390 131575786 560119685 593395181 678584301 944819995 625317680 250086073 347903043 462914364 880506147 377502280 387348742 373763028 391372764 615508672 456529802 825078217 429036134 794823417 504753949 948897520 730864854 612579152 362174265 218782823 549162641 800778111 672591602 991322005 781431956 402401655 600200460 590300810 878470909 702194812 844209348 555474728 374803302 881005769 124666159 792839479 918217692 720192850 167253284 415917960 305504379 861902479 411718352 101892741 799309077 701220815 543896411 666299171 594934492 558996271 559979270 853310127 137428062 362164053 360071535 625877658 641861913 395712154 337280902 586773993 722760311 869181032 940876789 140880826 291378509 273837554 912908656 958600219 203225329 175017882 731637318 391813839 206846296 756709074 205440711 895905945 985937657 865836185 242109366 139442512 629914773 466440142 862126176 673391336 855584375 647086098 812699245 219004041 841049312 242885468 114370215 858690187 853748598 511672656 867525642 897413277 478539955 169098483 492208745 811709574 518115192 772652122 427669151 581929360 962933579 486862332 827225564 157358555 518431829 464170786 983563390 242156936 410039533 635921296 447751062 312724759 511690913 584397064 133044797 904798171 879057708 874742122 527660288 992604330 273186913 929426229 911711084 248249732 819574497 847985272 385010352 865858548 884782628 215592271 265066754 615229460 870255533 222406032 354893396 980068366 954182512 657073758 912689806 705550541 511340968 816552718 350076796 453247885 897377442 430621141 757882548 972188578 628633317 283776637 402685347 961955321 499646258 837640802 544892253 790868571 216939702 710109643 381014140 354686679 771276241 109280495 602415851 451230804 416192251 620660025 511137275 404686759 390081078 362219432 130683774 195511883 126660412 574534561 152100439 525659476 142472479 632112095 575643441 155177586 632455305 267594532 197135062 229509557 103357025 328409994 652320291 968804426 554682094 585179755 984928242 705351457 180188013 402664627 620642624 482799385 435567067 776282044 737731819 619353117 109016438 848944353 723226372 751205514 704916633 117291407 645069997 404335114 762795079 628595383 845643708 350123025 609877652 875256202 570869263 782352948 854497197 682770210 142698034 181162758 117614754 928588201 679264220 871861533 698136697 440178735 533392283 867816859 446316482 942909682 518364915 620688824 867057220 565533275 979119361 273365376 170046251 803544373 385811517 633084900 358597633 749352762 661379927 434696856 291032413 754920895 654981987 332056253 607632729 199201927 620330584 766020213 662697924 464115403 449579280 656318202 533005122 872134514 779430041 590890752 173845526 342134814 511759296 751304654 519091784 319783781 898979502 157408230 631555679 520529977 193089826 965812266 856876058 747786379 860795372 666139121 792926439 490097753 494374459 895687716 875618183 455278770 267620599 194813619 705642673 164768889 883703752 450035836 642843867 575303042 572654619 197398480 678910450 897965503 265264564 855690012 697048049 337214769 556512676 947224333 602258988 757263892 680974640 163555319 214119068 660096227 763585806 352544507 556675989 534147882 328785915 898356086 598113266 958677317 637798592 727023996 659717561 547016338 219114986 400050312 358836163 720666815 325044871 864814085 478143938 717882360 952562589 208480623 301407616 937800918 829716720 257399707 555049437 479858454 109081194 862310056 512121428 345503690 923728348 270520893 125127973 432163499 191552103 884868392 159674766 161154110 512980913 692221948 618522157 242008322 952956488 511180335 718408545 473421778 465651310 285599433 540915827 215234187 610943167 655599050 611622698 159301612 484187738 319695930 982800372 329124234 390323927 118120595 980415167 472569716 594705325 292284604 420006843 892322982 516625378 906725949 152890989 198664322 135260358 805216230 508689268 217253093 383652867 469098218 212256238 273549295 926412416 102575761 855601588 507770150 559981658 508773321 886969422 920377184 569121405 871146512 967579851 371172896 681867667 171394212 241406339 938461794 429328370 995531735 523465468 457370870 374563011 986110067 626642512 114677950 238021220 162748378 990134272 982342053 688355046 560565819 781775952 459501824 990139850 744420161 320961438 265271011 477973249 667749171 914471917 523060769 487799355 464481981 568469611 901154539 150241956 571888169 939740320 742829037 720901800 788255205 977264218 630606476 852006058 122282663 568641219 849522500 961582363 857161376 961462113 481254009 445527430 191123207 215315288 274664662 182193204 588955170 386142220 574709087 815228476 426775441 803996675 403054610 754431873 638750470 793057880 423330575 988281521 932510435 232006694 698206296 735243811 191451697 979447409 910932368 845405148 234238574 191297704 765977373 913882803 904493096 295894486 748757136 513218844 541379289 177802640 203861555 480858571 885547996 639678829 891709625 212293683 459586517 960237111 800004816 703802886 692612472 905838072 494767978 637978060 830667507 526995706 305790602 837854799 927507192 705277231 932838040 769592540 378374146 948386199 127824901 898191058 670488570 930752991 620942705 819075773 585049877 174799497 998467380 676826178 234224461 995616192 589509566 572635482 413544114 500216952 233410099 508954058 861895497 144269744 770487960 906218165 442338557 417566176 498796046 207387111 407210371 883330467 979693545 420485934 390313820 818534289 981630257 708293447 474355623 744473701 613005065 207591309 384783746 530977530 710912902 205700655 956493950 829805925 556915870 312160525 793417154 616411943 330634011 305201668 469205185 286089895 507624788 568330000 358870778 586875536 329121365 555824437 514208520 190443154 160586138 791447749 646393199 247500280 243778508 453448928 129049537 953500708 697955104 258036467 395928306 798739036 838825226 788450901 975710547 996673459 749542456 948622102 374928158 377952547 348556954 696552731 368628682 414597948 202886730 141935530 644737175 486367866 429256270 605098577 737764203 822048359 399553438 148332545 800103531 577406191 358670381 451299205 474121867 206677022 657235834 989069766 488245435 385541222 518445159 263194106 374279751 149967678 504867509 862784734 860991893 821663710 550435600 904536020 928197033 116989020 728014192 990846605 265976721 557451447 523763169 144875476 789785094 496737363 145370837 558289404 965606965 551785298 481452841 628763085 827273090 981411875 874229204 232100402 811693672 321806084 753220644 509721780 133685889 805271318 743071281 894764831 454551201 592426166 192253888 562973378 608337617 670119145 975826175 536523825 278497804 315345230 608659309 523167059 181395134 121636791 962785513 320618044 342214255 767323648 470340741 871930402 942337526 933880304 541810872 783946734 863188521 714233955 386367053 257223289 396803597 641445487 842934785 322671095 313712583 536494397 436812253 169942089 818823601 186610094 628629183 643044359 868584646 535078542 836532397 303291534 804286513 366701487 479810990 235106624 193216716 447885633 811609932 978109184 843836502 187780066 732594839 815877298 814301673 395860741 225154143 130943573 502066794 517674140 869841993 141846206 122204345 659333747 379237222 949972259 428148855 711406253 986787876 268795043 652468723 548157485 447452383 406813168 971989798 627337120 578611754 998385143 606418609 265610351 606437309 913506810 567487468 578395456 135958231 483629942 468781619 615426164 367723086 286272786 103894482 381942166 751229643 147436861 205353572 439894935 933529419 274610364 490630556 241890169 965850325 754571543 507872843 238602625 830824902 550022353 828013487 861185908 594748921 829623884 327225821 452166996 761867514 769107316 443227508 812637854 667444542 910463579 446438396 633174262 879701357 922453238 194139280 602451741 205038324 788023026 696714129 984521535 207297183 634709493 609342035 977243693 891369605 507468560 943735710 249331413 832718902 710836366 324720774 668502378 767354279 991324125 638206028 240807777 807821808 643964994 769050065 678606818 256564394 813477998 626292301 152860982 338872401 906154730 706212534 460553407 354697720 616789167 129229490 888142883 514293843 547796131 479838028 703961310 223570277 808284106 134887343 744069979 855227239 827672796 807785462 236349484 899594199 590956110 479734271 157043583 212878912 955715263 856421803 143237287 453821096 344026266 908049612 595046170 557533808 386007221 244597414 232561569 793156056 468038853 697931102 799449528 124714019 267967031 600759587 229763747 849038633 181137305 355718966 769167401 560762447 337356605 663669917 411187137 902707895 132394899 168711720 391342047 921863610 471163488 852966520 612636643 117408340 996181902 800895085 159746302 454231871 656509896 449538092 245078928 257254272 736284049 402353507 958025671 213785590 845960785 347406186 908269920 788766523 968298731 590421113 326775481 107848851 654965788 998698869 477571050 975399612 178022905 866883315 276983271 378938485 750921757 566925453 473923225 176421275 531703739 847837352 435781164 333956729 892245767 985842270 358391368 955700788 686032448 542882285 913404504 942711137 786349912 942051525 601527388 675092876 240895606 182954197 532356542 470865869 705503165 968684730 439703623 292445032 538526052 744922961 990675958 646264249 259417966 269360952 105164251 366401396 414016053 703233443 852158605 839297211 992862469 348181418 523693752 255789280 794123284 607360489 432730632 533149683 150251791 379045281 828045984 124069675 174091541 306199228 528573757 750327174 613081228 517290827 415957147 586461146 203597505 606936700 546336981 323161844 861483701 527856482 468788605 883585267 444441403 638106413 194033313 737946865 300609343 396112919 997129952 689718087 519979229 665535216 309777430 512579786 170258230 546281731 575627925 166660205 537688326 689419858 466859428 179804062 483746747 338230659 626659955 203938727 773996351 918870047 501089632 433373946 752144758 950982812 207906521 321275129 305143097 798741590 450960231 327461368 478269003 629910274 933450160 916117013 668799269 244019250 861341489 255830503 689999367 790258395 323412168 696767212 243387613 898304243 692588962 526865438 550097466 157822439 747155395 966432467 222098172 223394635 278513207 723746842 108640882 519342994 419242148 381448280 535969117 984462976 533679047 932757914 981327981 761163605 258963527 994169624 161084369 576923147 100205283 833099505 161974270 803795591 989306752 544971009 550840238 626749237 398731087 651630314 516500067 276231795 865319673 445244390 409205007 804647587 897149767 260731623 284538434 289605334 756387294 605269244 171635635 428261684 995203214 266304463 817678811 727069675 832621543 979642789 203240745 198669515 834662967 134484558 624721484 202363062 647726659 635896823 154919656 152088108 407191684 241357365 440138388 472534829 246687096 683832223 967429320 998534330 579381839 984497917 221039565 176047006 441892592 264218905 266243001 419239981 725095932 246575710 102414365 442426072 861233186 549784948 676410637 869810967 551521032 999772169 411163935 233454893 806019866 907696170 705290003 415284790 507715269 402746493 328182490 103321461 377972852 525197573 689085893 314828625 449294028 495020262 979876656 200707128 586821942 206054223 398262158 173900539 456286758 602433637 143796548 518505050 573745072 149754799 574501638 716341328 525340115 417356623 613713213 745982065 694763469 423294097 459553637 896641834 489206517 708173186 866508935 765872807 273285647 174628029 649286364 102485779 325726361 901885367 475954881 719022194 296608393 350243831 140040230 262797460 382931745 181867456 605084185 308113645 926740594 846989592 225314073 800503196 735561552 466848563 664696417 525636637 672107785 161154209 912535216 819678303 205796139 370137442 361061164 428584788 347918799 691407491 413560592 815180310 100731295 666187170 705563344 843712543 316597863 803282604 594185756 722635584 559120857 594734490 309906320 981074496 752730796 568671453 894721773 110076840 478027377 245158430 582532153 322720590 744241308 140520965 496347632 640034492 594965632 136345319 939028556 871636993 289261855 584132197 187139266 744045227 797326044 384459992 908487661 725428187 395265666 212663036 749079210 433597995 890372007 525429743 528427926 725471481 440517404 801462126 341925334 188100362 213128857 843131438 164500999 720560268 357391194 857927976 302265703 553179973 173836849 423824125 436326902 557328554 303050457 675256666 598991119 926225887 908037314 769732208 340412403 444859630 487497712 708932740 255591967 450849938 696283783 262430018 686276009 809135479 878800392 936756522 807431719 764421114 179704170 651527608 573632062 342755488 676402532 344914748 826912207 307378792 379428432 324895109 818980358 682436444 392863475 911579912 121635511 216401039 353856188 416431617 399355828 454978769 540315553 533299724 591936009 572626632 105160839 284552766 213852341 993333110 615584448 836291559 861273947 408301209 640809257 697744486 238085532 535112721 763542060 847273828 581411126 757517619 855606195 549774685 140333610 553135175 571071854 926413697 122605715 336424078 805683892 587297561 244990724 882112057 674824186 923504370 436453243 607692374 816639192 918839715 992489377 799734090 668136978 268060535 381651506 283553102 883243610 406053900 534531073 273719930 567968582 985045731 226682548 962147089 542563580 198897548 536444560 571480980 219307982 845063471 428829645 227439489 111887857 663914398 552997196 163498092 808368625 153069513 584793152 160527335 747841249 444291530 356090919 772049385 931142266 587845815 277260280 169424315 126190802 822258407 410415720 663557261 774268370 909257573 978666267 323037553 199449893 429855716 387226131 454146000 873147923 250073110 511842197 448748119 120573221 796016967 605290323 376655686 695394302 831068001 925079791 128256685 203411500 324892676 718637108 648856994 670835111 209259097 856593764 117634372 614509011 774376944 151795248 850025202 643876687 926339636 730896231 898044787 425249574 288257419 689707264 166951356 240218771 908039254 914936170 744295515 296624579 663292052 416454889 700625089 288762246 886739201 152711756 473394283 382136115 406357144 882858642 145442993 571138473 259661666 486704512 117450846 704863025 639940631 817668349 761746591 277608249 483857692 310500132 351556873 351940407 556114699 774983417 674246481 540789070 965878010 287221792 817099884 971518704 682044485 742202516 966193123 234866216 427093527 399785915 426630236 118262276 730601869 625102411 599839768 257965929 712221186 132658509 259338390 145496035 729087450 458960798 549635994 657006685 137192094 687155631 708447308 445591359 956713030 698576536 465654964 308400354 284573368 471995878 443412499 322382830 910813087 627561240 994725387 997341232 771030324 130592257 236689239 948582343 199918518 182250869 731781694 803196288 968198048 474034094 711247888 377432340 921312387 941968499 719187409 240624066 443057323 882593000 428106039 292963557 201796354 843390497 750022034 219566419 530061798 671446490 692888923 881473641 984855345 321468425 521226996 864623804 758893486 885310030 240921032 973157782 488692397 776544562 309699938 763248445 926231976 317311424 798943014 713522894 727228727 976304000 532036486 930982800 905601347 880377076 113125624 184755481 392606560 449606507 591122751 470067056 286400926 662563327 808623524 134263318 254436778 179217072 926562683 679796247 539393605 532863235 626049883 653048478 292126709 222282933 453869448 715253103 266906573 964223016 336546107 919445122 698153797 897628973 685067142 545242719 395160774 308622345 573993088 541362549 811259828 764933781 169035550 422400466 878474409 382699457 254861925 202929265 619665016 964328285 138485340 448595802 619774665 725507910 277808479 995374489 230174235 928138334 460764397 308447564 925167271 316832307 152231167 131153410 820444198 159922879 443372588 546485129 800495994 729993463 208306054 244969491 836058501 198188585 516576673 469733381 167684802 150963302 249363455 208762302 369882228 658685310 753341825 237061842 598856292 321042477 274261352 446838363 427283570 267425309 565494620 514243015 816771561 400140932 663337879 887031728 944109317 168614594 423668417 714828788 351852797 623694100 671699876 654795632 718218209 677609482 750504888 895320267 686303243 785179183 873883794 153001361 196090180 296979945 190604549 443490308 397895334 967663337 686214749 607880084 481828077 795163336 120417777 291991209 723427393 443106800 303965959 319731683 792970919 709282594 799335574 383297764 811979287 279674445 464374669 717155065 958397964 610294804 209857282 650825327 486665373 198841993 460417311 676864001 586151348 804010976 274243563 342201022 922621811 407901112 622867989 740471790 482283644 682291421 678155524 968144941 100315129 202077095 678433827 273675911 400687049 518016387 946603631 227965191 262334523 983374578 207880873 978745712 279120804 689365087 632897249 287025354 476247266 878919145 826117026 578435786 230978708 320168220 576089666 467558391 995303050 400329223 718228282 183098442 123576026 992020277 562795282 704302921 444925252 157253889 564058807 101479947 546900895 592264065 413539072 332537479 682460627 378533147 952602846 145135230 995544954 534372781 806718262 722515215 438244486 511898422 921930303 433165366 741070248 143037453 914959629 640639736 575692240 352593321 356281844 327530571 587580762 658238232 552180171 994222893 960765846 340810444 940555321 340368217 309089049 909242624 735682915 490043379 643978648 918181691 905220909 431279879 945621945 415940488 459639382 404956343 970478160 434048701 448114206 126677709 801922767 345097223 750795297 742364864 867103304 226020876 964342787 581476999 209071360 627360679 438219642 276057817 250260778 267105883 797498397 434585184 587918720 252332533 378950233 387997929 934905644 341825211 505272462 387436490 852703717 267077486 198842262 401492461 469919356 235435615 699041047 454312618 672336923 954859207 461002943 297247696 253660127 299295766 269246211 907750949 484558736 624392379 956851471 396418221 962533330 276625861 780344516 539352564 449756807 503875625 222793337 435703952 324978825 808207006 888668715 257091732 965416758 748528535 684537172 983304882 764661089 773651259 267822593 421740857 423208377 409866050 860858988 868136575 975349460 437390007 223271029 884644570 623069220 142726306 572036033 255559154 594091606 756159248 862693595 118843156 402803098 628553476 942636734 808705437 752742825 402336105 591697529 987327057 187695264 914347122 623785524 397377284 172076591 377480451 925241516 925574400 546247653 692465286 593844407 679922786 122253959 782402730 461059295 574088743 774011752 788595224 283586611 447005224 318759519 664132481 296516812 731110303 829184520 705720730 789908949 557061270 705999399 532197412 321950548 980889531 452781183 133052959 850901172 575111509 815244303 246358042 571670824 493839953 835033809 125069699 107859140 413931469 831315313 576748652 696545330 987886043 917114503 317367463 660387697 546928865 136034263 882185074 153019781 230368185 274983903 160832375 500843600 570378343 165124840 983074374 960047851 548541965 927268099 884227213 633239705 684687724 395478038 988061578 282256249 546485805 705002269 475286090 106397899 677650753 655753144 538450030 608868749 873346347 209220342 880276692 757187643 970076058 135143193 289727981 549286227 987599137 531181432 340837886 445489235 163953605 176486126 645657927 584345479 479263726 307609790 630069137 975660230 867598276 623922157 175906089 994136704 903658249 268640061 401951625 767027092 854654004 407948234 506833647 865292856 213546206 655295178 476264712 343887319 325816998 401138775 597666463 119686809 200521678 348497537 115340180 252057422 854321469 572174178 560276321 275414610 979780936 817130566 591411578 344167304 542958970 948615804 958618183 712844893 729530908 389222712 904077081 518926735 648339702 379637406 438025664 306014598 580866837 111032120 966514123 677764633 972070967 847556657 949324558 948381230 724712138 858668082 999661827 525664282 201204555 253457991 451616163 228405477 790986870 994469251 460365008 964891118 795572560 457471215 715529982 918932373 746816432 100577630 893249291 950099404 937989460 425507315 162193923 283284159 452701025 534832049 325564886 722348357 235778630 138811304 277851582 483366417 652927540 652057442 493233816 736623889 690748839 451605291 338826348 226405071 562673696 964977085 396535920 977620905 955425889 518579359 846671785 482856194 749950673 803460350 906519709 610901412 801650830 217892054 582972439 600094812 149543586 137326171 579807979 338570925 108613111 770526135 293151552 631371984 385385828 576425176 758470456 476419612 455065358 145462557 833807585 115293908 595942138 328335985 602817884 884385980 571857809 565989766 385802973 677839224 368451571 855471068 374500379 893710532 851238767 342333721 416851059 111795349 746014964 746553362 555946927 726150789 742316182 493830506 221813871 761017270 441662696 143255456 183595447 882052207 829476096 861811118 597436424 739873919 855916683 672318457 918855422 361103464 727459556 964552976 331492577 910680635 936288853 415479781 305258802 174063821 416259830 523663168 925927563 714281308 383339251 958208949 485742400 439182512 906425849 618575208 548022136 476849728 913495996 539720502 763794978 564469928 755755006 581679196 173909479 910937990 168035154 131590012 455847162 441083504 691008774 776295765 710549330 898462060 794024686 372701422 866686309 392703030 120001038 930423420 280604124 451088997 436652806 819472990 130036437 704633781 797884951 956657220 676647522 313539623 927081713 343872877 599721650 657353931 732816655 846556437 704328096 744152373 188124561 283715929 614347538 114233898 408861366 344191869 553769864 428927586 195790022 456618277 899109280 542356200 186937718 641660993 700027153 627575990 392503220 412209832 984322759 217355774 550021049 282972671 405601021 375792520 888944310 773838729 873265457 535832366 413721985 344126229 383174256 294552290 171149440 626991437 664813208 509040793 534201876 114445392 829799261 954189394 212528319 577323091 608925491 642849008 203375342 140934494 324499771 935391474 765858274 137522617 473677815 545859727 482389262 986052517 455554603 817894744 188843774 410797313 471570668 374981797 686635270 660223504 595057947 857440862 214222806 507370961 664678518 963101581 525468901 598506677 603502929 189091230 839420777 417588842 897039700 851570011 587627565 402034210 901288085 165930501 385292643 508292027 530789868 205195617 212506671 732945128 349703846 316477153 646471685 645796552 367113273 640623240 920255598 105277616 874745872 952862399 469069482 507566289 338076201 281421948 519796779 694951447 424083881 707291733 735184738 335982041 856429627 147821672 247626198 340351361 657759907 475891742 863499921 102331974 701781180 636362625 544853758 351250777 220603741 547782403 906670522 839962369 712247848 485430221 424992400 145313582 138526704 325398267 390895479 499211415 111940609 510080130 136024826 951524105 705863639 510058390 750356005 487648855 399755817 867722932 145617654 707936871 761678077 397600384 600331962 796392581 710242039 372253754 863581042 684288223 784449727 802691240 558865850 392270802 458820434 989325669 596118743 808291561 203429753 432470332 772184723 212932930 566635225 485606232 571822666 737792865 735526769 143783748 572445665 780510008 737999348 822309283 581385354 885581180 408234751 607320396 322665760 853441764 516556007 246059984 567253790 802599201 991827463 872852625 996707274 995450871 885289347 138912460 645853660 938315410 720214233 220076339 110119879 951733111 129793369 128804745 321071350 485859651 103955112 355959446 284867552 726692051 985563171 906822906 309650932 665806752 898197370 115374539 518087940 678700402 950213173 942565662 695307717 311819785 623227766 740197085 701069090 656461457 506622033 267897740 935247481 541507605 698024899 785580418 324931549 261509189 543667862 560384818 980228395 872731245 654182882 196768559 382625062 704104377 140811178 666484816 605820851 370183485 378822841 887959696 775487867 856247439 326396551 763115001 824388753 829305323 900260947 245967855 769046107 929985145 844432064 528359411 422564842 956518478 250900055 434043863 519531871 856780059 724047543 951012911 558021159 644728503 820264446 421179747 404827873 189319038 357896805 621332009 987317239 796643371 284396862 142748475 983163777 392988780 505459726 665639500 545207891 928433309 620330351 586791472 229905064 649319919 150871058 237405718 617678533 653904201 759657003 205337784 227333735 100921556 178382908 771822628 584466905 457971818 763539993 717703989 957035495 911360544 626099545 356327427 161848691 492981421 805066166 280697906 183311451 267229174 190584983 530450173 376356771 644321505 187251296 126824588 837648930 424195151 327989690 830965933 519561368 975990878 938181481 902555826 122660366 670674939 336407740 972385437 248107411 712927810 720465671 933374079 137538723 753940529 185468023 905209203 773178427 222821263 416109866 699126850 462719964 125445367 293396721 111433442 972085005 794070343 108317964 189894920 816438340 662800443 692240686 784083834 734248511 109088136 562362345 985477244 852263853 635556446 391150093 544362401 715543333 867730392 529163231 809812266 266692119 382980936 768926705 338222943 806755732 915432427 636356884 268514294 133349105 533136182 192084147 985642182 896679819 651082231 882282994 280134101 224062712 681945218 726513258 338020314 225526113 926906030 109216614 312875200 532215990 225120283 471018154 822737084 499968139 728912987 248533812 130341436 583348612 581699977 925706194 140112536 316079513 175510411 884522201 923821924 150090035 829333151 227659838 581983090 213969278 166506513 275844638 857119134 642728125 327984496 635673753 739098321 368948326 327467607 707955839 113471320 763502964 562248092 862581753 843708336 876118658 703134530 153885101 334297901 241618042 480889818 939012629 455312576 551215096 977562126 497013210 337085419 775795695 111576481 586896573 207124090 256264954 638077180 302386667 998767765 194058068 771431475 209014899 909996763 114115885 515684416 721750496 102731037 817648220 149717036 718336071 564474644 899961823 537512534 252115477 849493335 718192911 537440189 725020673 745359441 214250964 729189014 315188453 619151851 143332256 429207474 185389131 776182556 790657826 650208755 384093637 759004129 457045723 968593861 323568014 783213342 256922591 429001100 894866712 152238761 939963529 950883993 519395425 167247027 509273327 729086575 546319192 308805767 308658023 979265310 665291635 349531245 766482161 143340810 532257167 144975751 470909191 618322165 405124689 931222311 398375769 797090741 401597598 683358898 755136650 967077587 135545943 587805991 545648381 752921675 121710226 743301580 686324677 867291288 838688833 896886026 218986549 733752550 392856200 337651914 535265138 761418466 461198316 636499978 141981343 298145348 282915695 913193475 240431404 490003600 786506960 602963838 125255099 310340404 642197802 690695398 535776136 196793685 496475196 100331515 975714323 942070299 586552716 994860196 643798848 125109832 777664524 116865692 238349234 950213211 479530942 998917685 217253336 868379583 793884357 759212507 798973499 163463668 794454020 628303595 517135779 764926087 645346874 554893719 182331958 878267072 851785602 170957112 474590852 355780054 593486084 479259091 793774836 790251627 574838276 337672352 267869197 806724247 932240022 826330871 554627614 174933042 153192157 711452493 236737984 573999953 311163526 684311543 840440556 591220860 822512281 964924571 466625590 105778770 336968655 252662568 524653377 853743479 520670802 704877286 740564312 190694018 947969040 691848427 269210504 620589094 360581808 237495840 732532265 541382973 717063556 235465779 382936509 108220478 168064809 579452748 737747463 836855745 445316042 429263497 873183830 690531009 925870949 790685707 142032599 777382838 659304929 292370116 478611601 319590166 289386457 455967476 216519214 520240743 276821313 159077574 654505306 709465167 176964945 892201902 940358149 109619010 683415250 462769852 549494562 675156374 866431510 188070811 652953514 339236163 603818014 587195620 367587247 118754274 646775488 424249555 599050623 833848145 509592412 772241339 854504213 544118900 165537195 747111484 923205504 441278234 540327319 261941366 549329040 273106816 104560159 208039837 359391148 527764255 668282675 341825141 851869158 724166339 913068871 285979582 375166751 729415362 117782899 522415520 237636342 613184195 471354638 929586010 438529482 782143731 871166331 486785643 396277481 688779579 609024292 830521713 815722240 641731439 355733262 437155202 854679280 706695953 577505047 537837806 437893253 833342463 151420638 725982545 541505420 498824685 196032331 709221488 380236857 500552870 155953140 588735692 378172965 613548197 649103684 579753651 694066833 418855313 529921879 629594463 199944920 133058513 160960264 615109076 934770050 758648349 812553553 904033211 233133655 622107713 254350120 817355164 473441885 918430776 233043602 952390365 795239111 990683488 510693366 630024000 487656945 501943525 199829685 349430343 167422803 238639881 389357415 534873161 942305522 608127686 475004203 581542526 677702534 119355148 101729546 213930835 936023766 200830123 719096204 159743151 340483290 352895002 176937866 280176453 857043913 854588124 732072359 614206090 997798190 211802757 838115284 948551021 358649616 428432212 122085261 289701491 684845478 267732135 834653301 578843761 962706847 631940948 587728626 302416962 215406482 124000441 352361858 389036323 532045694 355734374 174753056 413594962 236384223 129256591 363282730 387551134 809758951 893642817 678098848 460679644 186528154 156541866 448018712 555237131 228531295 821149485 174414343 992067644 954372634 986564276 709909217 779840818 608689313 140988005 509796198 350140542 179050338 261046192 844659150 106225680 653855359 317864234 859164529 823006225 407504825 241135970 101052388 327740551 907408777 515129462 990228231 903391570 541303997 338411860 814764041 663626370 323349730 227456289 373356814 458922747 212235719 580821431 641529885 392529552 335204789 125807862 443005567 947165195 118263368 904436232 967137115 567551962 932755038 322037745 665728077 730068907 115307538 758179050 684539562 906699064 585003521 701087287 126503845 870692493 659523848 891402317 852514009 980493710 414756842 974614680 472224091 349564555 870406976 656509244 180595343 853065375 792385779 178554268 876757965 346236800 177094264 823992856 731222489 625746158 498752481 102045236 337681334 922328970 643256769 130816495 930651800 464896825 395200148 649371163 978950478 729388838 434331500 485500272 994363172 675814157 294760544 825426068 274087168 398823937 486705404 283034113 639820021 530154784 628684268 792845363 293627515 346389562 237843152 480046786 244358964 706626442 473178103 861525355 444249927 391484792 948907103 889641702 726397604 347044351 240646709 651204447 748611748 488406315 508276664 432323552 977899634 216929033 474035236 137153210 642063061 925099547 542986478 270184874 762484477 774689260 540327688 341733513 468948160 416448286 299648219 405920544 786718795 546408543 263277552 122108135 251610181 671281430 111837433 165144057 467662077 353418025 226582386 366506526 347904281 210437647 634161169 186644636 653427698 431481510 712859136 790470393 814204209 343128700 564095307 511240467 845022588 111139892 395414321 848561268 822880901 333154428 378503245 923936428 409023354 768748559 480818163 539657473 293599952 464388771 708624526 771163072 612551478 958431855 543580893 292860139 731563278 736884584 707742660 402423137 433851748 768747294 461687307 154144358 899512512 259202115 588645948 575399155 651696556 456546134 957756824 115230844 585497997 480607902 630833836 232860532 388397686 543808181 980396523 365234123 577937733 790810103 311176294 837818409 255846719 802673541 986500946 754457150 580345747 709221646 981285568 649078392 500521217 420307634 936657130 558974092 210581892 251837169 960532837 598181416 460069445 259582487 744726700 445864348 179495358 149234525 981809847 821632544 624988498 966400574 852155141 570577863 768999749 578705579 977529725 567045950 255183532 604442675 906108198 909049347 228844727 436954329 557106204 964767424 813678522 968560075 252374098 672564606 237203301 689401672 616709586 451826964 703221418 835094276 190633255 739395410 826364131 932949633 236101678 218449440 545490769 341421697 708138911 502934725 668049800 484084436 368136280 519407725 169074447 385535867 390518560 412456906 666668329 910818790 826736171 998269967 692691590 303561314 181592941 397227705 958050718 611236014 127126144 961210593 250423803 805819356 308398225 645703842 718211948 443573045 125220472 780811645 414137645 878718338 673809224 768276630 778917378 699104273 886959491 399474827 114487766 650687332 101273111 699529922 219335558 478150435 926860804 481671030 667112878 245548687 380593020 796806369 708050889 703391246 374443025 390163038 847453970 536197656 745623827 595159751 646443039 223916541 782596556 469044039 295139644 114474618 195356990 983374106 400293772 640364453 360530539 696140409 842099353 895401886 416797946 139794008 973139008 137432678 846662315 486518329 589585316 400564793 106220096 120842127 788544810 685133348 599350575 514747478 611264453 559720995 620654950 592642181 912738081 298253511 138591694 509976012 536133331 459261127 566894606 151705026 229393672 213390904 933402070 657488287 471363091 861434545 284779767 184285939 430428241 944310677 875693672 813603817 961288894 851535541 252529710 192240840 286231726 649102939 710506891 462285163 781089488 861966644 724013651 456799240 818575703 251280524 846353518 489867073 703456122 597711204 310227744 599980303 537950583 923814876 992470727 123795034 303369316 174093539 644669169 525029400 413515923 458468014 135182723 177039182 276567380 563540262 839534052 485419463 157718185 368299781 706594903 225719302 129037975 223870992 397100687 364089059 148671110 250668936 108648042 260726258 144361059 751219301 346615470 506003732 521998532 925557053 672146976 482617154 691593128 227888734 197155216 211324969 410721514 190727844 647239470 396315574 198452091 694671184 741259818 347998224 869795430 720794968 763851260 351111063 208445505 185358509 899880963 758946730 496175445 957048428 113707458 730483227 808296566 650175531 947072012 346088827 113545341 961099499 202738120 858355526 242686557 690185074 528148622 403367442 269763090 422011510 277051335 473068193 990468678 470658404 533884020 838613668 572343636 405955117 374324611 631423722 338954380 761451021 946568869 399027823 479065178 364411250 228036247 510395054 778476060 967194015 603023813 225950530 166409019 157341830 224480981 279408845 697364348 880992567 390322591 377267838 192648226 403521286 602439837 553665999 965794782 687565302 322212448 932409633 771936915 409488287 698901764 521936722 540493738 374974174 490789537 492817063 114188653 298827798 728750783 617283608 720322112 265286950 371506528 830122890 466688470 335228020 766946895 276977763 684277733 108816832 871287317 235332562 548470414 197830687 193662496 410183291 647361729 659348609 190847329 652991864 709852318 744105482 771162720 532926764 609397235 496627712 714345789 630599446 811146967 836342330 161461265 985641316 664188876 135399428 172609642 833823001 931419826 326182296 357315443 964661431 898145697 734902071 547966423 819571448 562064680 746493278 627537665 474372550 657722743 491460636 299743317 110492930 960389489 173856006 777050289 395758349 146247383 515298578 901111413 687566184 594012571 782760262 381573675 537294601 619303510 248790498 495891696 918242797 358205757 567740878 312499902 579900983 356006439 123076668 183487820 576233642 136520023 452220371 116093615 180275705 517559570 142681748 596216541 504433648 829459390 600532239 273895304 462975259 188178763 702191660 663027923 236511720 413861088 762450710 600903729 735395347 775893213 295016866 863699006 369692539 307947949 645600325 812541409 616280862 414884071 341602811 662532378 403818376 325911181 602298526 758300011 209742298 162194141 458909812 484511324 799394640 473483692 355431052 446025758 867457034 307252338 164043931 515577228 942498280 758800483 893827305 838694848 295548552 508235504 113734235 431445119 702957180 378536899 421823200 552500167 763392910 835350978 193994321 521175544 171490749 981117874 918193313 549312401 218839553 109172713 151193855 908716055 956594114 469643976 723365232 941267828 371258150 697015394 911184831 410712458 781688650 588634555 883632334 267029558 905677904 705878445 588866527 775267353 479090787 448425781 386126111 270006859 708968868 294987531 584434752 425673669 911283812 976391842 799546537 274843037 754277363 526728632 257441588 936701790 390908491 518103601 608435627 182740533 112044052 793384376 796378507 963106615 245726756 388706595 346985700 863050021 164317828 599576266 885511989 484618510 792718220 334773226 589943809 792570032 587984163 527507148 776890120 931775643 284186408 225329243 619900109 944842687 739107785 989677037 640655950 388404565 944712700 213082637 755764378 280919455 175192517 630559682 158823728 159499242 343892926 997529322 987674008 124899408 972937837 312612997 450248190 611518484 959938075 902613957 230291166 181428196 131708803 204395728 882658683 958027618 432809825 452804127 966763620 450264798 236445264 406413398 735095608 587943734 302261448 298538170 486245086 172595780 595185217 630886526 150652513 535244734 535402514 661454253 243811956 694849249 408737299 676323276 957754146 366222462 808800337 838825919 971007342 321020235 921494476 952802809 413248404 992003042 817207324 326066383 247852529 168829251 101040238 792284036 597216283 445407336 592999547 335731047 717450320 486021630 567344009 143016574 541771440 177900060 375752490 451033674 811945902 900853241 678986318 619399446 687853131 919653623 848558395 308972982 287835984 137324564 551721006 172759370 701254335 579908067 657924262 801861077 571489466 834606469 230655740 146185505 416951685 636888494 238140273 151595282 517786388 842262457 261942944 556483465 750190426 534795054 631544251 653673489 263998901 322690782 245350147 100035031 321358820 416447655 397753333 145267135 180052875 265996147 496026557 972921629 800154475 921543604 177576570 455148718 136497102 831338055 138498080 269678385 946999475 855248812 763592224 686101913 117784312 950987518 572797533 765476876 234897255 912313664 140825263 905542200 908980919 502498812 590296325 336319224 716768706 336298064 500384342 204137415 926714620 920306506 391587484 797128027 760995841 242911245 875299682 384061564 256037105 491114093 831757842 752449527 317932350 462613541 786871412 605748840 914132806 587384964 151158187 398965063 224983813 349338339 287201321 176813370 160333015 549697099 945249257 289632657 128519263 628334086 448888244 643777283 734340969 391854675 608801851 375590554 791856599 521720979 711764654 112257785 483180863 118715770 301893201 969016814 244598663 932272115 804138334 160263867 354325796 906181789 469747019 400670128 138133040 577472182 534188914 752798625 450342323 319322992 401942317 447270347 885680221 406215049 477147212 570445580 186650903 299102613 373552762 165446799 953183068 568959455 235156747 349963799 882797328 890642066 317066496 425409641 616097387 774807221 100272768 665449401 941798468 873990768 955925042 134852727 937663225 903346182 420284045 858348714 658327638 942945973 839092535 563198106 488078034 648382397 583019403 180336053 921992324 407113920 782635148 343415492 193191376 115615932 931688820 795701696 607522891 292272314 803564688 751190366 707560846 963273188 779725319 822278844 946940897 270510476 596816365 482111707 535467946 153294351 839434708 768079702 435945532 754297634 818205680 808201047 226077558 189224407 369018734 213665534 600553933 553580730 956664242 938561335 399389988 246578486 196946336 112779096 455654169 759532250 108765905 172124054 319353704 182631866 605308561 253998019 144054354 947238335 142628549 559540703 610700050 944869317 836459100 717954096 619452092 625945174 889671216 705158388 590323748 913192443 378463750 258559986 825232579 998409288 421753306 923847478 952632290 596699129 283324284 923606187 269626395 708269336 841849349 231669955 514844962 199499167 297228319 939216634 716883344 952731097 696983445 353757584 217394906 513664804 578278409 825599884 632500522 147725640 777022074 138104565 892626386 287053057 724091129 407797707 162303574 591632519 219405923 825216707 951474723 893552889 321295006 440918628 806349303 668607918 582881936 319083096 118519550 244531705 782389128 217987716 796020797 668432547 200178769 133650664 269028486 497651163 810930089 486766106 481026557 902101703 975996047 259585985 814860400 138080403 571499770 715499642 992933183 618689141 929281112 470127730 833655441 576011443 754501502 817050126 139892503 920083492 265413896 586976120 283220344 705380658 899184440 784942187 167471967 897081009 425277889 105916661 721703305 564724091 819155836 361892831 840122215 562377329 578330997 161416676 689140024 942117025 215436376 880937486 347367670 469538787 428309639 231139093 606310872 193187716 187391362 751194352 369428018 256642996 523548890 548498393 297122625 478909593 569687448 643461819 519021979 820291895 185010416 575478974 190105319 924581383 607852179 948605743 407833818 883223743 817367813 630782747 932446712 247509528 562136468 247863353 449511726 138197839 459202414 832182950 229847728 765272041 128796100 810337990 192445634 131495107 881850508 323891534 748697890 130022431 929676896 841829991 999575698 335014109 577507472 178140286 770646762 295430257 774478386 171739428 818401844 506959668 446856013 233064307 245731575 860891191 245045907 586039688 173626036 475553883 958921652 130553909 942301138 521635348 465554355 671446853 503832574 834077300 786588028 464034627 687945049 754296089 800378997 763459344 651153389 293636792 954420507 830586030 732187432 484842129 595889163 427492452 371621637 378137765 418753808 567967353 188078739 576876573 406435682 212977954 836101438 233469675 257457572 719629999 649441921 642637570 639041989 336540487 926449501 769032037 451828435 105585267 376605512 101230081 237897860 538228377 987635188 592396824 904263215 370347884 745035970 290962663 858480045 968866828 693378492 988606645 949213769 194131886 623103006 544439524 629845576 952682695 829747464 913390615 461309968 361736985 579403034 341545307 494357977 401244395 842684634 541337895 390654749 484010465 154454522 136053443 475110553 990823427 564740238 182868704 596469877 386402641 585566711 343831112 143917023 414145229 586341756 644802070 211508445 371368233 592386971 737794676 655303893 458493281 263615395 712726908 294150589 836136281 380474577 312575489 495636286 175723073 609205394 618608233 659733513 227886292 556188644 917231054 685846246 659485653 951782229 806015845 493453620 795289886 567975481 844573848 713915503 309445123 270718473 777131123 255142267 661204686 367637640 556801861 910291226 526084705 593778627 522685057 660900107 418386197 505200257 818571998 719799900 275264429 607917117 496019423 590882530 844010728 142416074 486986917 895759306 612954204 129943419 602954206 622582831 706114088 397743636 367188258 504832785 176731412 374482933 258416220 986334063 908282420 801615020 661792916 954053373 628375599 472871731 920770129 717062225 400511292 328752126 674727172 831162140 552103959 986227645 652473743 822917899 458200243 357254693 606924799 413934503 559075733 493500207 917604783 272315558 645132647 604496919 363233556 301655374 719009913 300119577 654788127 182123677 701367706 252846998 431813066 793018081 106397337 930471677 790748927 255730621 595876562 312070478 663799658 215891249 742194687 225481851 281401714 724636239 865999409 803136854 403983358 474782080 940890490 622906169 865948390 438186657 343643331 562995065 767122860 794984823 490471696 525267361 673976831 242936441 684216845 514049422 953604975 297566739 318573950 505959378 579474413 169889504 971001595 457845239 880677317 623660948 144326574 599078872 316279853 277060873 237323301 949937081 116947930 435140231 361864488 644508772 842230953 376779167 613725133 946470888 389169189 542581927 609374294 378801856 918859579 893869850 670845102 325949832 268681639 604730681 526907920 265332435 302853813 597158031 612074454 353076132 716949926 738546537 316120479 248217535 601766732 622413317 308254506 386514670 171776183 323957399 287035742 812217942 888567694 308595772 427961652 479018693 781718944 427555135 438700347 864364957 126135223 729947124 940467801 999948595 718495961 337617899 705549532 351165657 181439142 874026293 209847439 227054918 929155730 576484134 727158293 330773896 465717668 442052990 836560998 916322660 330110752 133536317 105853080 471429747 728268191 978642286 679734423 119201683 336881208 686953976 372251256 241452255 294259826 601856884 271797020 121051501 567076332 436027408 701469720 383876780 769181169 977046929 483511614 163657251 973331830 378298473 864316085 914422987 739167977 591553136 924415626 299234407 176249705 240123125 683245196 646930243 198632214 941169122 845470491 765145135 731327839 825766152 635508716 667172233 616262573 483338387 998824085 404656789 148950723 699182772 953444247 877561105 209976496 632502968 281139580 146504986 276714055 411369119 448839557 833303574 470610177 864268640 319280427 363353753 579177914 167332839 945821145 470387632 396717885 706160225 410809841 122596788 675175580 414865821 231017811 534694274 376758886 451439602 279618992 635542428 615743258 242613077 520529440 735121431 283520509 343703872 589941784 836854797 219682069 875478199 124578210 797063765 835462937 600422679 162992227 151247568 820248076 799328071 331736834 746501255 940332910 470670981 265050082 445321048 504081376 909317173 533766950 885537841 174252032 967520677 804064004 928483297 661689266 818477435 978637345 260173055 757924809 854433781 875114229 671742593 757337437 145187179 694088564 784656084 351174000 160390562 765105715 788263402 273441566 220560863 869108296 880565812 372438008 928508787 483122558 711323422 472315808 121885394 814960216 355807715 196812842 700528195 830832809 248310184 457788761 945281553 960978237 897916985 176657560 250734614 645105174 710949656 913515000 871378129 743721301 432526005 345978574 190770191 678766606 575635807 606683360 555738966 904222812 500805872 614727752 210810650 841747259 750047964 379361125 189012304 240806004 342363067 540551169 517238340 353659882 558083872 409518601 186361183 586034588 857936062 941429231 756928251 514146490 107228997 818284795 512838838 153313764 801619473 160805491 646889917 832545865 757700911 912878853 644070396 384957467 593627835 663071642 775620367 311070089 787956566 871470711 513305354 418421056 360221183 466267838 154100994 242626121 276383942 162269608 119510966 231752641 970892548 573520505 381114619 151596512 757855309 610826290 853628441 664714746 440380454 626199648 638299277 668329391 493669354 337218063 613732444 423493005 536468743 103210965 220548054 266987622 590475122 549715672 960535229 366701029 604519546 191560002 650399600 701842695 306455096 593184623 889855431 356482811 407117261 919553379 265926930 100656910 114109412 709881068 732384346 463935755 443272441 626998359 676889292 508830095 661272381 497698141 184733097 299136970 148972096 710783682 651390767 745931395 561075891 650587745 904502533 875421306 542045462 437058276 369319277 850693569 591217769 456929354 577621116 762002782 190667810 689933716 427794503 188279599 883127869 117452788 801950378 162872568 614502226 754062822 453405172 163280477 435845674 814428415 639173059 929523604 640109066 512764556 322333261 622313098 349097758 623023904 770056010 174904999 480132207 172788820 885086077 609437414 131146467 355398751 854793095 506670676 602370712 806884868 361954722 333269811 153688113 401226653 486125445 726446116 472284679 468981901 394429480 108939769 751435589 629327182 955505982 978120288 161731991 469637399 730557880 107877012 499981417 526485077 185369612 307566870 473314215 206573505 148126916 281553206 185400497 817613743 367680443 935075929 904770763 966152414 491055049 345024520 327151248 146318255 810297983 347290462 711840294 839879743 913381891 266141365 374024551 261792853 742745805 466514833 834739039 501256843 940521462 281096315 295663565 465718243 326961578 961903477 725972283 479715505 988509515 131277559 127308938 745367137 776473789 466477804 400605016 676873718 894125973 494505191 517257908 833486068 431030229 508571547 838276819 881305413 360091958 665428069 274980900 671838391 850289673 790407958 128993792 975156355 251024000 894689566 351730475 743091864 218745777 516495855 787720781 939475611 238086147 232201266 290867811 462197871 455663426 863515381 645309056 660889319 239358648 100056781 325262364 181164273 646534403 388145186 133094991 568385152 558602113 631561878 427269131 760707432 946316589 814901084 146473733 989393821 783907196 122393328 929095850 380161222 919035960 946557950 407582510 804112683 476572928 937396243 997508703 786478648 287099925 421848623 611726236 806984381 483984671 694927175 292433166 676756851 921251702 766742251 528955856 888678796 526571610 195604211 610997351 415779249 562113059 494318965 295331396 198466213 166570635 191714269 798580449 131698405 256727434 406998396 616655463 547803064 792852172 918395539 653371909 254400916 736728602 274546225 561526557 975959018 861310441 613158239 917449763 761309771 778852667 928197026 537027891 287353998 294051755 333980713 685567039 339102933 422799679 386902089 759147271 239171356 501642580 442346583 441798293 344387967 346596204 473094844 809352589 133107093 423641283 729461852 468387325 344314814 759716399 390966374 882374683 565760895 209690123 681443075 373225287 289144592 195417374 871938861 387251601 946583884 126343166 371599127 269330731 724876294 719198016 497137824 410149575 813129572 217021697 370890863 586643112 779819259 310831408 511212138 739265320 168347293 222582345 449698885 401120166 501992341 668600833 363391433 486890044 477020116 666870917 843000561 643330951 614010559 918801904 185302471 799079668 324486005 799056023 828701328 687681302 975160106 337731461 847713974 415974304 957590427 425033540 893578008 120141314 422782943 448491701 636852950 817502308 674200781 945829401 961215431 667060197 765693526 165581273 396946368 888973458 947913505 380037732 841368026 927927688 626309173 295567586 992451112 743873223 646164802 141824387 469347634 723616459 631613733 872625843 341354015 841716516 270216899 419390679 271960323 792217667 987962645 139661370 601299819 255748698 847312719 792044859 593237576 105975974 547337792 366099745 143905485 203493460 818596436 374169192 151963531 221654771 149661106 671696539 200320769 819095316 517836417 264142435 724585196 127844550 183898486 879072467 446666225 681127695 585274233 318802157 578013108 507214868 396133852 375748116 817091846 627851374 353953628 869335842 246769728 704476487 466809811 836192347 728911876 622263534 368345305 248087256 108517901 934354813 932387504 156373892 475084566 104149954 941931628 771637045 478162116 870928451 478904722 419554620 219268357 494622233 658556699 151590015 932169372 310183411 243149432 229513275 397371496 565206164 294458567 515568641 130919593 787049027 775770219 454752330 844879223 572264205 516044044 237054274 153664767 542174816 630181325 460686804 612911097 518274890 914121691 330586301 738919860 720440603 539570014 615431222 718281907 317688929 550133687 988030774 677760600 571090270 850248753 224151368 176777490 116763703 263135383 644725348 189936879 178156274 627262494 162947789 910031509 794275298 193381279 769287173 761066127 600880787 394834136 257100210 749701569 225981509 665962497 697388855 880387276 865565667 718773897 741312221 293707733 551602242 372046656 261403472 165171572 265250318 489228717 644784554 378610169 359165362 641420242 449742494 930575933 663005858 257637985 914894799 429678932 735700255 109282160 744378871 385652980 472244135 701098759 502331476 622985280 331800596 310767608 941995031 361221897 928381464 558767102 697598810 508401922 149325275 167225070 967380388 928182498 883147452 906386791 257941318 168298316 617967336 843790819 249316571 265058284 459408081 283327182 560724668 539639390 394596169 178537372 549578231 876034885 821809261 711355585 774317632 989820814 226809621 350574556 613054041 713651151 643095188 534274652 860290673 626177640 965133631 549396130 729266381 742610879 881772828 975610093 309055873 915980716 354514393 236911098 872091745 320582651 401331343 597037145 325973432 136715072 846623998 277748937 626943498 270860687 322771442 390131619 890783550 240166300 656214112 542974436 402432489 626307014 989456031 884383872 488028932 171764476 769988412 247874811 318346175 906860632 820812081 924596611 460974616 858037532 971716438 217741671 737591259 296659372 195689169 161867751 218288131 106566924 941882857 619603011 660152228 918638470 343329606 559050775 814111567 692748420 342989583 901842946 894060896 460585285 885886966 816488877 774181586 762724776 638766730 113070354 900095942 738170601 179104009 848885189 918996749 383355518 200096526 955470392 490804301 949007967 252437200 656733147 575040648 651436732 404219519 912745319 943234121 466685891 347056030 769090398 288461103 379339475 228021179 508738117 971468390 498977513 312859386 404052688 569810304 898506172 740820554 511154511 909962422 585360777 353221144 957381845 572035766 660733503 649310710 213536640 369122350 985673353 366074868 815046134 114602135 205301132 215342266 546945101 690965104 454960867 633707548 875312992 754354305 988298455 869685125 497807002 584105048 988594659 957599161 376279325 958264387 288428265 568671448 429640083 122459872 897539585 968923152 603488737 534759054 661579107 228321942 519380556 324582427 233447589 909787194 555390897 951382927 851456228 845529193 562210240 472021801 374466257 555142272 980827853 638123600 800799213 698260764 492696346 637023938 182842299 532356502 790263482 207141253 253178268 574312697 316240482 199407961 994587581 123452401 303466091 450344439 619134512 279444104 841899155 573327632 530155943 914191948 371360209 579304052 349737869 254741544 873486639 210036430 776528067 411562656 364227568 967223575 397141723 204343531 715896577 811460192 125278024 244724464 343071640 609230834 603573662 545199265 772758836 597810473 421969176 362584128 518337144 154374634 666997533 289653066 148851947 890309173 561608616 897912966 177775171 929853344 619980364 524157752 449910826 191138838 867254829 753813990 577806374 120619415 900767483 334344388 867915011 262300271 973533480 649657866 377740312 516246579 632718649 509904784 983954189 754524735 766483276 474074808 481212417 470183404 871282480 423428146 267218083 872741960 844924456 611447746 445090561 419502264 573443752 393341453 547197069 373973752 946285817 510272602 272718467 589742566 189952870 362978938 811007399 930873817 714847921 169769478 348339258 349501541 989384711 157925984 317566383 802626345 111900730 898738731 785330440 209181526 556698135 886391109 712307075 384030649 834560201 590626122 833171475 967051452 645219188 582813171 195054042 373182334 967922828 600035501 904130430 703366228 451163739 832958175 336007521 685062265 114849027 657386934 318281992 647634443 957347122 846542248 770658069 309259689 356294365 794902674 623825126 801127138 587178968 489546440 376410836 914847566 631147136 861696084 865655574 674796608 360059458 789754116 271080783 496960659 329856084 166742647 111013096 150954365 755070923 571668911 886292979 971249305 987720016 687784008 257586111 676083201 256306732 746509812 658748445 735717666 927664666 118460504 325061723 761079480 648525464 833500068 103280844 811234378 310782520 869591476 892401447 986961437 972571586 105195747 396247936 492934626 901345247 535159612 832185134 113296157 173850139 164990423 712648001 303276681 281035138 908794429 554281069 674838430 198717967 886151134 943226987 297800711 259106787 448169249 268343711 443729713 977882528 590075956 820971488 532925503 567238472 583045258 950654096 938666431 781517698 880630394 794898140 139975167 419732537 543896780 848121423 194817348 184738724 239848985 848005225 682574375 357993070 764688302 527215526 534589358 624836505 657989985 635934719 403864337 795473886 693244914 470024732 792125187 838692082 690841303 600770210 634154562 125706375 318550717 513220893 271345625 861422122 325796217 478582457 473116599 894186445 613958787 479897658 298782843 121838262 707012531 354521276 900734644 536786477 924829368 969662229 707247526 585536537 223582718 744430586 165477811 800741226 414728925 620172050 941977946 208186286 552537612 828822632 191432121 978071702 100906590 976280511 416218112 865703761 397796341 135907621 236312713 656471581 786147034 121759046 785220497 494742017 671563252 896040349 360368428 331470660 461808143 453163006 416595426 376532731 946142636 327348702 669597581 220478205 835084794 826415960 979351343 131106238 877151209 151167124 967951978 198182938 560113370 928936897 453896100 564042134 371342597 898519821 639829582 704227819 567100602 812523674 453811444 225266866 901304695 374278654 285843452 471130236 273165118 692467040 933930641 448361882 896196975 326844787 678811147 268632736 932400159 219214434 252279454 734736420 730946863 891003709 303861747 139896603 737562210 542607598 568386418 657154565 335661872 830225707 145575577 908347128 220578663 273910144 240595658 636610712 132551056 655544725 801124446 109725804 354463759 597846221 141796086 656905555 864806679 599992432 289515421 189277031 997655521 154991973 232760166 908513172 462291460 611581273 203931333 852373605 690718454 871500223 526103170 880457783 450367968 259227121 151658573 408159191 922840581 171149299 120266880 962543190 581927290 892651461 726139350 857326894 377199218 499322855 502313250 282234598 223856943 474015395 583734872 225162511 869260007 499372058 779150561 806715535 733015561 440500033 573090460 347900564 414480724 249034317 413945390 780440171 895072717 278832052 462545783 940563098 860064095 785814587 565648367 444350305 767705425 860876130 734516136 351553690 996374072 270268661 642567798 593126850 981162675 393230886 165545032 630995241 558123008 190681070 700815039 310221078 650232133 322084440 977830534 248208164 478715734 627476437 472566429 847416561 127258687 534422405 953939014 546004607 472180106 279887090 923621721 821795668 811888657 965500517 482046624 365547802 758675338 263698756 282609078 415889335 796944560 914992425 718749078 656362721 414763878 887602385 515936885 750530135 475943257 595942367 650298735 955324322 917519758 327443623 540310040 832611040 466293542 425268033 185097532 286017894 769972804 788367338 469220526 986627478 674744430 430575191 267976113 725534090 814634031 986646626 877120747 585302365 290087331 142638060 978602353 755501149 400126834 485008226 964215283 373422991 777132959 887742955 638055074 241707018 480649014 577887883 645392369 864987887 517653173 860095698 685423550 618979139 466570838 555799105 385389330 996048280 639035890 400601221 287106215 106824659 416010528 730976505 686758419 594890303 396501532 133876337 801034266 515167187 843351484 382470833 661922368 559153967 439957737 328064904 284205502 875076863 628262740 357911920 861006527 310973745 450323956 368242274 659097353 685451158 874766018 947532156 369782050 265003723 693778984 207961041 406532009 384653420 518238111 450136042 209405480 778788143 326534589 903089368 347991048 968711692 925407653 289302663 833628008 438813379 110976529 813327470 688327441 274701360 824992925 286731308 381303388 903731654 987276827 889726452 560017977 116887766 604755419 945912319 798696596 290443966 231293845 399414321 737947772 929830684 504174427 562427445 550685017 527609036 270627801 388631402 503952871 710754725 364030304 752356990 496726875 418351773 579942438 852179974 823455879 932020503 450888573 582112877 627648975 898953574 453875838 808434127 684748904 381442982 360733847 642516457 764418929 541334239 109251670 144239388 644230987 830484537 352419142 170022665 380828057 189239153 807880237 464471088 809702334 374406299 108522858 295194009 698545338 980669484 608589586 707405035 423374999 424291678 491278464 996556472 833844944 236331530 120203855 963146661 868038462 319839767 342466099 626277980 850425659 745686439 401184542 922745618 774141424 443147290 224633882 428485488 726518894 539338772 802366531 824866355 765644818 573105782 343719871 649711583 810584549 204159266 806490779 954751187 378647722 694504697 476431758 400071166 331152073 336060696 237504334 573415378 791689376 377561014 244633942 791546175 794340540 339105469 722477618 572398338 244467843 195945413 642023941 896431858 231216646 249662689 185811003 768564941 472987364 603455080 927052881 524781365 209441814 387304375 840062933 300775625 464617890 479021768 397310536 781854293 229581109 125009513 238244490 856348764 367636066 953538220 154101900 824687186 162311343 178186933 172814384 452270738 294131675 106635720 746668955 160860651 478399396 468976131 839910404 179172799 170009797 993570651 755283273 130568645 630343121 829237718 259577536 790524015 476598410 606797628 928230929 725756751 455244182 673556509 640781443 124945732 583667175 792053370 468291999 283471626 636026832 976243538 958616040 837639132 120590451 775003652 618338339 125972616 564328843 162281981 676253508 293807610 905341213 424567619 134142057 467648712 543758030 317486956 565526733 463356714 514058968 299577784 211593664 472803435 624711595 784530603 277720270 895643135 256611387 712776678 250563866 426691743 929732977 640763263 299432062 986014255 999438758 900550061 738853824 821025331 625124594 511141290 778032791 339375365 558783574 934720481 129138894 285452585 979938513 932217303 936459509 416060440 889448063 281910297 356107898 567188529 902466638 649075690 776519680 647490426 826907149 224378693 698611793 256319209 459774134 654080750 161270734 112331926 168483730 508539068 579911192 615141401 463785556 385474436 597340345 819775323 440200640 872346030 747268130 687684066 906260073 276615974 618133629 524548594 893452445 390306372 520795523 278462201 404732393 618115141 884441373 437384900 892106541 102284729 744412976 800625364 480637025 797261868 428863815 443716375 568302568 987089449 637595966 453879789 140133892 602794243 817836115 506810154 450952628 255019078 659478301 892666836 199432646 300440102 559937348 524825573 649839766 944470372 235624027 666553666 459681069 322538532 172695239 833356589 959459818 647231953 495460183 955989597 402163975 232354487 272746125 107867661 700328756 453933044 913171583 785589321 848512911 890667961 826054541 723183916 170818363 228591164 544394702 750029469 253486872 597549906 123822781 691670908 671478323 440159721 356893944 965974403 539877668 143563077 491657034 633633641 462042966 635859415 268082227 489324697 182957537 390218367 214486666 803372024 936764436 254347549 166622851 291467400 616316538 462251058 308198691 731034515 944665554 499341372 403101147 546795811 422514969 392603624 649721308 200952637 347376810 604967398 858024854 703922824 422139916 795690548 155708460 121260614 971806808 430839410 148458066 221770933 533598676 744988703 818205508 290367498 685700189 360865696 243187401 876235674 309982096 502809690 326130217 768811575 892535620 981350221 935713821 309698095 627132477 247076714 451756496 242060509 307943754 512038903 512761408 218613383 157211742 192762225 523169501 630459088 480026702 446216240 838280886 205608447 515532991 698452693 169046305 113559028 877343765 626263059 868363365 854384258 334246018 972319389 867567053 645667332 409932203 551912676 658540721 535704634 853726631 746782510 657670244 106208625 711677869 726238227 731802089 482763359 635758990 933293511 931537648 175256679 414281291 943542506 620078671 122600576 790409004 624666235 192888589 808807940 184948548 282818345 469380681 503240761 758339513 251753290 500041177 167820199 500414518 297709484 201612064 550141621 208689652 666382568 334882555 556606120 592574844 207350510 926600634 713059099 153459070 634331770 881726703 553454312 660266941 925934226 259862106 520993976 604969320 403554514 132165254 690092364 443239394 376372926 886132635 382963577 728441046 949510983 353670249 656629300 245617539 505898029 739735310 494581468 283918056 696487384 417097738 920213121 594112934 998887362 937409278 223112820 546351535 352468799 454278244 524479241 855990626 100081237 560378882 734818499 942389768 535260390 699700744 402216815 720493903 826055693 515909345 927217547 836035038 905067374 395218774 446241679 524648596 696764937 821047532 202063585 526493480 484483098 854047838 944769527 415933510 433667206 702184946 781299723 413665210 988228652 338966866 961024389 342300722 708285792 236696686 680553592 929956424 575745833 745566192 863204472 698984779 247828274 739776825 753029776 504474569 595052146 194623920 564060201 412025612 221374162 908961586 291872162 674811455 193031022 372978387 745605994 372541298 764783626 162500807 115343924 605119871 165194409 894027829 693950604 588756044 537391346 482222581 916761903 174957217 841801125 967901419 589842354 393558047 642926247 367759369 849985397 908492884 352346142 400581206 717222265 181249346 485634083 302931263 243277045 236326802 504085992 217123864 132027566 268324457 965803607 944895571 947270222 996834980 333292953 616472856 555063131 859326822 417072100 895017349 893460450 425485195 398175947 379420670 240899333 457687843 954355122 933021508 977263455 163044293 374538508 207896048 482684234 471620163 517399928 636582971 767426166 335748679 903761996 331630759 435096892 345839992 567594308 751238021 625431760 489145669 251751877 203595986 661072989 642947048 454374228 570602430 776076373 303154144 982791470 705791515 436436047 703955987 332446203 691307121 516356520 251778030 889520018 827964679 640995380 751199194 647147851 977623823 122550647 545490737 667322756 554360961 321297412 395237072 285586208 603644794 178965888 661931758 943537074 315978463 470745328 421116815 432731645 668607999 525086417 571312248 378324422 785889646 914219668 226784292 724303347 155831957 358113221 975545416 868945485 989497919 773792705 444466517 605201556 281305680 326567798 726455782 369659797 875825561 381534809 516160671 304271947 139528224 458684688 447619588 472550707 166535813 861173075 648055512 622546251 867551794 194737077 529397401 238244910 641084591 429252386 245045829 303304127 532777435 646495503 226240160 576827610 912133448 276995157 116139382 632774171 771781797 961395074 862038741 812545550 336223506 543597637 955092945 900639314 420459429 608907152 788090428 674008321 527614562 508886275 734228014 782858725 813257718 848361938 346226679 567263346 115029945 257858246 343725507 585710992 633297808 946593388 303108426 853906205 772557359 718763017 644296316 656210034 736281429 286378790 345785084 446279894 450872675 373601867 552884975 900752026 806259599 564634714 690206507 645155544 920488200 414174638 721814574 910710541 759362272 276129586 688477548 673734361 856944153 308102767 999531850 624871414 966751446 952427047 709097642 466591435 502276397 782162134 637046629 756617200 601783165 103072656 111885622 672982287 508351598 346189001 724737508 360920205 378611805 869126707 727709017 723793589 325962082 967547639 156270234 178869446 718388178 524633351 885797599 877268135 581880964 149769556 911666438 796807060 660118394 390916749 745833176 562716187 268388746 475828078 511889783 302645001 652451722 353496302 822485520 820189408 761527292 860342511 138377838 495187966 976791986 802796671 938208377 579722187 993595961 898394885 674138325 377781084 850299705 511984191 947219493 432041124 860245490 190753526 582490710 718474427 527171174 745231955 833229336 215796005 933372793 330133446 460478427 340596788 764847051 998908867 792697488 656867721 731455929 725033475 575012774 360056699 189460477 216290197 777787010 870379737 273642284 745752695 518424359 805345071 330298437 135268753 189040887 403385412 904053925 608938869 570005625 867479903 755318410 976613907 278099937 540447723 228547006 474102950 231386450 180388585 163344603 176603297 997736869 409650488 346459563 622332248 723429383 548600435 922590103 440874427 146705951 231936844 875869579 444194270 810961999 803662358 196668042 425975982 828076685 100438618 156799001 359991085 230911822 589826091 595732188 248450954 329823991 645611758 631235027 659121949 488736242 492972736 232459094 725553716 328158505 236310460 261196988 846235194 999860555 662369192 131968271 172569210 549766576 598881775 959659687 320486060 880507398 267561731 291782475 108607993 504434188 415503439 722349073 878212977 705286386 763441352 790902246 678746295 996251505 620500720 330914646 448294637 947294686 458689908 375019281 916466774 825608690 576023292 786778110 121108718 219954062 107882023 349239372 291875788 530181259 345889980 922677999 555516943 893640939 490586877 544874930 505330708 654983918 135364166 569185450 511877905 658817278 528811481 363560771 823482730 757106640 169170771 307109120 189277108 402384063 578687804 346900747 511931748 208691507 598779763 816070067 154887896 437289065 121235135 281079276 273520390 496607506 186829819 566910221 248380652 984064134 949462396 870783528 125229863 627271912 205083536 551514267 968277098 183403956 321110438 552777484 538429592 242286879 401951836 996361885 604461270 605311782 981010644 264147372 930974630 260250427 708076614 465778389 403263771 478115351 538605667 566636540 484051232 656669212 140315734 827666332 924048235 150927422 932327715 569020953 871616680 155645563 485062517 631356459 736232971 485511910 550432878 752529919 569818404 972807410 107625606 539482719 581283714 661084173 186274601 577516887 556126610 481851511 894535759 801026878 457007877 547672740 788285870 544132972 740429299 669880565 953151279 884185492 583078581 547416514 921202257 926350292 420115379 978718729 467541929 350435603 154408617 340276346 579668150 637661023 741762242 573226172 675778238 238806440 318218317 361196865 766085231 836209322 504113944 168721389 912982683 406908783 902229902 255313803 550772074 925403810 441751235 718397120 762329480 627798606 725591566 758123627 345454955 231401682 323968009 277092629 999159509 535967216 673778032 819768984 470606938 590105837 576778243 524931870 334575112 776822217 426253603 957387597 668002337 197391619 732200206 778225533 748131916 260262426 129833889 111860913 227913514 925645310 202227695 327465259 256503980 467849929 464923895 271809466 648722403 918712385 219286354 394651114 256740963 695431947 693738492 645899190 877739110 143023700 258392825 474738862 934331775 591185405 681918898 719939534 202673756 143706482 239521296 147722926 755987590 838928510 298530419 957007154 482044733 933271619 218584088 607357421 564355495 694477515 485728142 931233243 748613631 987173584 976100022 153495698 259442216 481654311 695864425 222610417 867994251 707429196 190822804 740503104 702288175 508140215 631516202 842456064 442012667 146676888 297388684 965422019 764031632 902388600 886832673 112958384 331500514 732351460 147230237 942522237 992379310 160851174 508404568 803536956 600120081 901153760 363274636 919808968 746441823 803122901 568474484 123284061 584271207 864794712 524727627 613858614 817316743 279126616 221538349 731186085 421878387 779209659 127040258 125088376 179673550 668825332 359998254 599014219 345180134 533306402 625917853 787776496 953208637 409144581 226620438 539037776 855347812 953790980 521691606 579531526 968126656 408374229 338384557 330623638 550906215 102921077 558776179 551561012 399199363 771940479 727060840 715180911 534018415 345672365 418675595 758495700 859793493 691553912 956527987 149155395 753986154 167806316 201686173 838804343 963068384 768697073 310523610 464497674 199386245 280559368 756231218 534970037 728959625 897138669 347802779 337676865 669676896 592715770 901453707 274294340 273242598 830647288 365061020 786871868 143497956 453686349 881665586 939357495 496782994 198475678 832222377 752990866 941082192 428806832 710256921 571786889 692607024 973777075 757081781 930647825 493739692 843141129 189225837 456413693 180189887 933817479 612071816 533839941 335784683 891489609 940054686 307238624 416117015 738402768 637880613 359422932 839554573 894181308 219872713 801029363 635283781 284333958 289319766 670590646 101003771 585925027 554002248 953436849 526743726 156783253 174268309 503080555 499852485 146823162 490847941 272883820 827042716 994583937 562061141 265169066 335061382 782881986 958298433 909145009 429811593 229317705 621408788 515095556 437103849 486445376 648810420 931577814 749365659 321173938 831820776 460712458 550872668 613133276 103049926 811650126 303057122 378351549 711620029 134310552 906993485 725948479 641426173 732712701 336178434 838320506 824417846 272712663 172672042 936764540 128207322 962880998 867691620 203983337 370561211 483181028 715250441 937322653 747002398 768974038 590287285 599445709 111249104 750268152 450349143 440189626 268944816 645889849 870529364 438785802 932456299 799933757 418174571 626810090 173478186 573713453 809554685 227730700 860406105 307079624 358676701 163538278 796323593 169626037 759229075 552227319 785331429 925872455 511383346 191223922 319262062 346938696 755510011 772867372 815303576 194647950 269830103 919390755 527885737 412209853 599218548 620231054 640130329 523393336 600166836 686867155 289458560 699682703 736830339 109515939 186491707 300897423 271712315 768555656 344942414 583984900 464355418 872846099 555428525 375586053 413566846 169542755 480149454 249425135 392644168 257365050 525685206 113160471 384788908 230981737 423856958 373174152 887849956 941819166 556106675 188177596 435670011 206048929 474698448 935821737 322730828 104941765 102013051 952358390 280132863 618860793 786115924 644237944 555175789 220421359 279831563 304909275 977144301 999809160 456508803 290590068 296380970 165843153 277656066 986963621 730454785 760700652 794143265 883229820 809543162 467017420 858556173 495060404 719071929 399227973 425667806 920364733 495637581 192292887 319759026 333732508 319309501 566589575 393416274 598913619 840851778 463834166 538170182 816250045 278347314 226389318 400295961 726637434 650843742 362134780 762057662 835115680 182955872 306390906 993418007 321250139 510064095 749058122 679838027 886365361 355913182 510540288 947744861 349907067 971008036 318019124 367273902 309416414 387911898 179655189 238579017 814208234 982643221 506293843 264158933 862937691 579746724 213273155 400078318 578428438 186186083 354684581 684044066 495129880 296522829 767889455 251832092 670049059 762514494 673965054 625789644 626091575 409799399 341421217 815298602 473788056 616948888 428791304 411676279 949451477 365542122 268279574 210446227 425694569 252163206 776049226 505709902 615986828 467937911 481140166 666321006 197582134 694953840 652876859 731073900 946697560 172288264 770738101 781626242 716727236 508600154 850174392 462218084 131865574 357674589 282778224 627195733 729281791 676925547 203127445 298570612 652256097 126114950 616028351 967910561 377938755 437457518 423909023 532869770 479439359 820194348 605463672 889006915 456134704 716224490 338209903 742058282 584455503 883047246 946033725 484067160 927602667 632248665 144527599 203644238 772166056 383651810 512004813 423068683 168975272 374870819 521154789 380696318 599231187 165485112 428850797 376334191 466170896 724144989 226396163 400686953 513690702 489448136 612965589 948535340 825836801 184543043 310109781 429986377 247567535 688176832 331154747 552229637 907846183 659889751 150658439 310685425 255636440 580783459 582137122 974123578 562587018 976676133 987273628 891718860 256159076 335030495 422300298 972459651 197934139 540278716 229011433 945880693 545394816 161604372 309091201 667483557 158096806 622924303 152520862 816670099 456814016 504938147 301661955 106926422 686028599 325110654 640810231 600831765 356227683 384050534 537474155 150561065 435236338 548004990 816918825 728381908 766967595 396820616 224454214 427194861 860367739 211873980 468692933 247330505 335735414 881609085 834928501 332396614 669136623 876341227 817326246 131209696 626697611 953619596 737100775 910381465 581964893 664630005 547042795 888844956 788515772 350799536 392641524 958127555 249480511 209925761 328677993 725124164 721379918 635444974 418943023 267884624 934937730 468234027 296599472 167036080 184948872 344889483 237421802 116455728 834584155 888803337 628822275 800646638 693293101 829188340 348218790 628149052 801354206 338861383 776618193 591398879 768145556 843332591 344381527 689612195 113315748 900654782 798479078 127645996 279323786 466307749 276963370 350058002 803501756 803713248 449040391 621398378 198639224 350963133 512196527 440426667 549914446 164009483 629254981 430953385 623598635 738745779 352107199 540032537 612486882 670427050 538152645 484854693 219722180 706689311 673025920 492420088 746013172 977309244 516030672 851225578 770778467 675374218 938290693 184283625 702198355 855501737 198077519 617873053 836869214 310325730 239369592 844175342 297877777 447010063 735622533 573248965 891434438 654528089 745161605 315998540 784698948 838831733 693855255 719617448 116675187 463580539 953559762 220894989 118971059 258622526 102954928 860143961 701533029 111918436 358739793 859868178 136751474 540951160 771778507 175575064 920387552 399262823 272117458 328965251 334453739 378724013 221543705 979275803 285314159 524995607 638688032 308444736 801510668 203052502 781750284 226758377 828308554 615055558 704766248 229405473 407278425 951932693 795217137 162055893 905361242 627166586 910205235 127996718 520535396 639665789 315610439 856073669 331294252 901240330 480551084 434454679 482368092 412103754 839657100 698537779 198992815 700768460 713589621 755655283 329349340 287250212 564085716 421103533 695342647 479250313 563859035 464203065 587551074 555564090 982215191 836262092 195146294 561186221 607641675 301271198 729414690 898631268 478190439 584723260 370420696 876786946 548869498 546868240 744865411 902230546 665882964 942362582 771912080 464644232 757973492 102408128 305452245 255786800 627845321 289304630 632772950 759857520 305358763 230618626 892903872 841624535 901175950 750865911 528252457 509070844 954748043 538851628 888180001 609622337 850647085 264082042 210699734 602606467 978524185 538764263 844215546 496589653 492729221 850771449 493366443 506757614 778821249 931625847 881775300 534515094 274998271 230434840 576318829 113591236 754883987 515466146 812410820 412266807 607643514 778702002 656447241 978735971 593456393 740612492 681673018 273720529 762785831 146018856 704944905 507711143 836525474 310955402 555267704 899553267 534394699 774017331 825849533 562008455 337971834 429273743 709065856 617194921 781546977 617793024 617856200 194973329 106547794 500359227 485989596 195305771 695488019 646313265 523846997 289300803 377157308 241523602 610577114 692994296 360057076 547786870 988821383 743179140 674153944 596598169 333065765 798333524 544512461 304951909 256892335 166193654 847590833 751212218 940060794 201953095 925383349 907302419 802642269 254443192 363392182 486869391 880976277 592692648 339852684 759496025 762582350 575381233 986062858 371303789 981585757 609027436 641185805 942781343 925855015 290369831 894195082 639168226 753812757 218503074 755002095 564770741 279393327 837626521 301846853 626078352 319318259 892217936 503074115 903145025 802354846 623854771 178845152 473034215 830824353 825732985 448184589 865096916 638415855 537422619 952759937 348075522 686876788 459020855 289817849 396394752 169692705 396932203 592912881 655462523 426562321 768599041 391435367 198249953 777959427 363913804 703402813 702833162 868662608 530901051 706564272 654193519 784399028 995558512 113877231 875339664 898438062 887113737 573711700 328509168 603768078 903353440 425245293 203892702 157427860 303053026 555542549 366014251 974985556 795911290 232389263 466279364 468309080 920457723 652599068 335054081 938329307 669580004 139283628 984565667 152955666 903233222 697699875 766940863 334547364 255193621 555151757 389403859 878162545 887224306 612593747 858239677 395663192 671884507 430085504 476017604 764999238 978180895 144451612 755150893 898431020 417319260 680119992 186584939 862177042 561129460 823959308 187250957 544506001 720320203 271312812 695067916 831792615 722475833 310543928 915827792 965405141 262349401 736126707 310003193 567181744 339134391 746492440 510569682 622082662 716524635 507533948 691460759 787039167 244351271 742424308 151797399 641054854 333231131 835987661 130580954 900734323 390312318 372295058 802133516 297519400 971219777 674750355 658382326 440443429 124692185 893702077 437244142 486345775 566303159 390506008 923908576 336109743 653385383 620317745 288886239 937823775 567938964 895647339 264016843 592420866 118021505 782002674 163152790 618231300 246847333 868825743 976258725 791853615 321867798 287080507 119822419 830034670 305509958 642724381 321562226 541099878 642015827 386649222 307282404 867784793 385057526 124871014 565212562 201968067 767536354 120852785 413840170 459148224 840473146 966882596 169842210 276501043 777260827 574262226 574559875 239194840 894950063 459592779 960850281 608639009 637063213 369359658 797371509 562245063 703744104 708945180 394683761 404642685 678770932 460952147 538394077 453754573 588603925 709738457 396897630 570858955 291731434 290554802 416541756 403962787 870320357 602220022 508535585 322419572 204333366 930320737 760546233 573130743 552889710 168204736 108152653 697187818 128349919 135045713 713665656 602584770 364323783 358372125 593011040 404527879 171643355 669431744 934357357 195533178 353145740 702214232 975879322 369478433 192125704 971677329 673417669 515053422 499782965 195563070 861239784 667556823 305171386 185798545 877510776 301245077 366511225 766671204 811535878 886981966 121960548 882140315 114482774 739676423 447439440 248725153 842882143 338788202 948702031 268357862 866353774 616170208 142360937 326537046 297344707 221870855 489534169 189049175 506717566 712986390 619369185 308833755 829213889 705543898 139138377 325880146 912371366 480100744 889238156 753123500 485327749 678546411 974015177 107651155 876681116 863524173 803383712 776960369 300988912 972067834 468236640 955443059 687225308 732148851 844248919 696382806 531500640 328658666 197912670 192295245 626781417 733714248 464398350 706640727 114443493 501567154 789655095 997708233 469392945 868075060 827994076 371853587 713319108 667736099 484255692 618903037 871812719 436980963 964585608 865203154 159913571 131634537 547610187 496244428 156021386 458522810 624475078 177555615 692349523 338315341 854782509 738964917 866671987 837285658 958676962 335013703 235704351 285792918 144738632 359505763 426622387 469767502 873352555 575767906 929995442 450870197 617664915 250106082 153672380 803744842 440928437 577900274 959621283 838146409 439226985 994731289 187135561 232956036 355807263 954106645 129071130 606291747 118247128 279392212 387212353 600883227 502563072 532432524 791796305 750542026 993240901 327472730 664979134 872495284 970971529 135158319 806271983 201346987 249222942 884181104 167178055 816388586 686969844 618644124 937188075 829958917 451697502 530578153 330661189 745296964 672662892 727456649 945197523 147682769 957881302 642578703 670530999 757003348 941456475 686429899 808152590 157986934 868157886 621776878 535104873 210482533 282765247 232353042 929522756 464263790 787903946 909938886 285143847 148662485 788020037 776418016 642599884 527263877 495538032 462206860 870375303 978994565 745911852 539875484 850836255 469566116 995517664 321403070 192525388 757400846 179852353 424140227 621030322 255555741 685507479 731303115 384929647 154060637 757235583 193749778 918785691 952059622 919054837 531938772 408297547 438217837 826912940 893327246 107408755 227680141 766352064 634709021 983137728 326400181 621876597 217419104 322555865 956242883 925650544 287974036 112576911 157012087 161421418 985901831 841972446 331722821 874441972 525895169 469959179 438977863 714604955 761204462 824196271 748097475 677616086 466449726 784200981 589248572 804210310 773237732 961734440 914583883 531240517 178958505 636525552 427805896 326228231 971277390 808690684 831844659 547636986 461364113 268423485 838741032 393533241 738691122 842347618 276357814 334355361 940931063 174982545 408681300 845442540 893419244 724340005 908442751 834314866 473717942 365005028 795810141 432137287 968911685 869969826 491481057 653447337 354036615 523794935 504222175 173516591 662842830 236144711 123442417 588855094 825340214 738055930 822994770 762260575 168375774 433736010 120215587 495640989 569361870 324010098 252588837 112896170 150528012 771429347 414669552 986738514 702076285 201932663 297964218 169058913 171241645 698935354 256588626 400901413 591334176 433974352 952224927 177678428 279822753 151751122 454675595 122156323 845321425 624076264 937037720 440978832 316311588 125304798 713137862 868634786 614090092 107363255 937479965 328433187 338545186 420054977 112868939 846253905 850380734 569007568 956627227 864667978 825479341 504360426 594567663 384757745 899746901 886100163 352672667 259988092 296724191 116633036 575910209 142105433 196901270 499670224 115187984 461932772 747257833 729429570 117799901 531492679 971943850 199399640 186855137 571924992 683813755 845996619 707165779 546556728 362895794 385355738 722158138 229663075 458453196 933163710 267028430 622572926 152793666 378353302 177996679 487106953 951692338 169694711 107091960 591018299 577046541 682173912 206953319 923356070 974706145 783768789 771234627 134188864 365475524 131346145 764277691 398310378 626678100 843952343 146775890 781366841 473179496 549448410 402971738 818919926 303283219 877360615 171312712 943995026 241107105 213332498 768344243 420498306 576350272 173511958 589237748 718102883 783395534 553057046 487320337 548971737 309768100 709589974 853820022 938344311 599394732 111302266 399230138 243407682 992900171 629726734 988124095 875747727 597766254 440447108 991863904 610131779 114631739 524015662 313899920 140320851 521568405 612787719 907846817 623077982 351780352 524741729 604403416 766338444 602948366 777609711 643180247 748991588 331171743 576904983 779420117 873131515 419531355 771560220 704205140 636436553 380298751 424763428 526469496 377681750 247477922 601670590 699046504 854406805 244194267 961477897 748709188 367054479 202748670 722313673 222096662 654372524 341018961 672471306 872918537 960332863 435556525 997007550 551044127 715294513 206131617 613150703 381848194 722398235 915765447 794367217 986566755 963091255 199143658 847442133 893701391 978613638 426965093 628044324 643870463 424263348 754747674 973524565 972160838 205907616 849852411 246563487 501710253 610120569 387300417 448409322 522578182 221496745 120219834 682501238 887107684 945572969 253034385 530340860 957712549 797294387 424804752 801884937 676532543 562614908 929801307 485644389 358942570 912436120 805307591 178561130 183653676 108418633 526663033 270033839 982811868 595653025 645721588 703642552 581952255 286409046 779125659 577070897 145167145 659354066 510903929 246886281 371262081 558714140 878232712 872528482 483524838 841525764 122223465 128870199 627766842 548233443 610324655 843482451 670913367 887201900 911626126 479654513 408535418 176882998 583221775 696576029 407439396 982480080 990397002 140540766 869430289 470050535 315932221 892073084 291640980 119290202 450132457 310282430 206628727 116568752 360763081 573181389 122867985 123385532 544644350 745585205 873280936 869727114 491820574 511487360 997316741 106240978 397618219 608189279 920603920 683813162 600581839 452742684 419211923 988831666 560919772 893662159 338718394 845358819 509217606 750526991 984082075 973513182 829634374 426729039 670067037 422332746 190719070 892551811 444230770 746112724 812045811 776598306 757048299 865263255 636930933 433917551 623387837 834375352 197492010 409206760 921063040 216405267 839329105 666059961 840089129 609503005 556635998 290361561 254844806 528340723 317187277 198557248 291852923 784249244 565936985 265511497 881501202 279069573 326051103 222347101 972466529 147988292 531293078 620562905 285221466 771263033 244078504 928547783 351743637 304664445 151720408 930068249 590939228 103507090 438519688 690913124 801632485 625844999 563681555 862977295 106346940 907974397 586588595 883039106 834689346 728829980 411789228 659788780 919341591 977677057 958104119 520022873 135621439 668502298 586248175 760155366 157021041 762966226 377069512 806305680 147052626 916816910 632472165 338549620 145197947 497461853 299936141 804968425 659471328 268490818 115734267 140230371 531212488 917908300 218757624 644559636 584366700 493909871 214655736 409253278 300603173 587983624 341629767 416907034 377234623 845418103 542925120 272891551 220536375 267429316 673415693 413569184 659944913 678815619 593355307 781045245 782528144 804852119 569409312 955769671 846703077 350210184 974045734 683388857 994502546 310036084 285086965 101713091 471722740 239712035 895189348 133064817 404812945 660610734 420788641 993203477 461003400 755703953 292681501 586431185 920713564 873068306 374663074 149048576 473960092 173930656 238662681 303793957 457311308 457452459 274854942 134651585 320933233 716192860 228105763 323410351 901949097 817233227 345400497 845165183 718170685 994971995 998414271 406160065 182522728 533992959 559611360 425651554 350033123 291640618 383263450 912279734 195866680 708154073 305720335 653755995 314386674 255049082 532781657 418393871 913382613 962377954 751088042 530746769 958763008 926126950 642723438 449811118 491096884 331138894 688235354 875828327 434934851 943691942 416766740 199842936 821379639 685464434 759792118 922994336 277852873 117299989 915599777 586720875 600430171 456590453 639214001 227538050 908351848 232644480 131833031 183116082 766990599 767178424 294482140 962259703 284976669 616925489 282752022 418715379 186365112 258379970 532915986 593166977 791416700 737560320 869518211 744460097 689939899 369300918 536139377 481802139 291610603 957472650 964709465 410376816 936771112 340616587 945823100 220569873 203376924 562871456 545031831 973479622 342836508 997266489 437384513 649778821 989537690 852607648 366305798 594052383 392567006 950259399 499306153 455781912 172921612 772191779 120810732 236564287 612280195 160019017 358806718 737011476 226918977 621473046 143545031 695276539 437231037 871886017 839229755 466565253 368554496 481655289 467905611 402723759 346142831 410497486 601672365 305387486 491278822 737424459 296895371 157983380 970451751 917515978 133566627 452339239 457987290 949945898 398238750 144705497 501718646 722615347 521333149 658835987 919329749 961144580 739823887 324619009 135096802 240404297 910529999 756418030 938239994 278890866 955998869 795836278 463491106 700094808 392473167 902844719 253695689 353296923 465491693 321453557 126393896 950673524 680939047 651263538 479563850 905391164 299239673 262714391 891611679 182608688 300349761 477792435 192698326 390834618 574390084 908005479 104379891 145028370 979796456 690440010 646279104 844499104 588359650 559626633 163130493 946951626 146338734 906231594 266112671 764078886 337294929 648891399 875492199 993014471 855694933 949158354 917090948 897593717 326353189 550318184 866796802 288115099 282532638 725326632 796647421 922791584 431533068 883365730 279634469 967655454 482063434 811668627 715343105 791849907 967610068 639377905 330695143 331795911 289709166 190907959 702492675 315388483 514639876 331253476 440221373 499234477 310510848 394986388 422000018 584428513 864141814 964768699 381569549 303950543 568877669 353457326 147636386 444223266 900250459 864502636 243408747 721575048 986692506 910055964 210560886 331736651 947755052 606296276 576546321 481356401 752162734 249650318 781269637 629531845 577267894 171188376 269339625 633230167 411754899 846976027 778769424 787703674 755160767 380501689 385267824 506656766 670631471 145555268 210239343 252245018 777402395 367832553 206904435 659783726 649231695 220098559 355641847 954711742 489307891 533190752 844325383 864980590 975655807 793128301 841634096 309641012 375079178 863769216 162430182 535716093 125960869 323167628 525842880 326384256 846233383 457994708 482987683 875849413 332593970 475899375 685886581 251894631 307494425 269967868 628073253 864047708 326950920 161081115 178299230 927569622 570376841 529594705 510885516 598161339 656489090 480801832 686266722 303575665 114147960 212679554 843165045 630875331 968748623 615680692 411203000 363963452 575312121 321163901 705259499 310200465 410021563 284401108 972010995 423277633 566804083 957342739 231811814 884140123 227569827 568832198 639991243 886473978 399250803 801521741 760064634 761663398 297186898 731867287 178203617 975863938 636654843 711771632 847791824 208725170 634314422 802101557 557857865 484979886 878218547 196751868 281206848 147879539 839601755 576494364 649309594 432302607 259349293 718298365 846609587 392877189 364328663 523148013 746841670 819168346 362239419 390893714 422429901 877508777 531364428 114690425 845963200 367397155 429787358 758497763 685954405 795713030 267236681 170641702 156267547 950597496 375055447 274724966 842348572 578229854 615253251 542804832 658643084 196723416 625075429 882992719 303088410 584268084 447355471 582302623 319670094 962687139 676171018 115891998 147947559 754092539 441104296 511632447 759831773 182818186 951038734 773075219 898157802 967350447 388458105 735355599 902666292 881734931 779324494 574726070 394931933 988198793 593127004 732673785 594532646 566229390 696288280 924825000 125705480 731206140 875589935 404613286 113021698 515834556 911894896 141407479 169787933 928042283 657485992 160012573 206067926 953347523 303359393 551076231 704622040 588917522 188424833 587665114 603932131 928541010 625048922 517363025 726489195 428270601 253887570 873101202 615431746 831126894 760474674 337952004 124259312 402646491 308324519 127141987 936072966 518344175 604040412 263583134 299781113 466317743 779065490 940617744 408831889 979226653 111231703 670149764 421659619 585080722 899565517 508922335 894952515 697338585 471961553 651879631 943668052 899607514 369353843 158093914 117020014 446243993 790746175 372738989 809653194 830636448 520319962 694671172 865004748 450438433 249006333 879061467 282982266 756119172 628213382 716287513 807144442 305641422 211368490 846918000 703917300 711242469 844108648 278818297 594269902 416646689 524939739 670881746 226460270 977343098 136440889 267259338 996731797 112447636 415693264 287386259 917598255 848350216 848210295 642612257 855743908 644284805 990282612 377691145 403542144 426391536 912233848 832866850 484226659 809456210 218273474 302610714 177807912 577792503 499528080 371323154 754398156 669129675 744952324 484505205 145075558 352356940 184134412 526858717 387137755 836226168 803287474 631428929 304174029 485835621 751000455 158555300 360266036 183483239 562559833 257140878 710655526 935776678 818484558 515528518 902096820 583623308 587398563 809070618 959314833 176889327 820847417 383674636 898063538 214181717 381314524 685917898 816924726 986388263 241558486 197755711 313539351 546884360 607473384 392680200 333100004 786393468 227378116 982653325 904412899 201325562 232482859 289616782 699994418 106139155 901484911 941807807 201162779 100233462 924618257 340492164 889047810 734629632 876615508 149317700 752319910 885472716 846580208 197569637 988990823 345225089 486037407 322950916 106770726 533994246 106327489 387764686 957400613 194060714 287479274 661384760 637567387 401338962 678814951 852776938 634174899 172534921 502373754 132542808 573179194 495750977 412057637 310087707 241838759 536627181 663800445 908357221 416089048 865761241 616222835 566164250 290882658 749610881 542085920 630601131 265798456 320022008 254885457 700853003 717468431 299182507 130287812 874303870 458143027 348035516 199442352 977044159 245945169 685715189 330258680 637252758 471254718 103042266 260206125 114415920 815677487 501138797 491060291 609329154 506718943 998812331 702801502 543035337 481250747 100269643 871456247 505991193 343835361 670713904 812033024 108320983 363439737 877425006 533630556 461437089 657777324 298346811 353178108 748979324 618318669 981499711 213494019 470444745 699908192 479250328 877659441 897688668 771952621 803917011 297943551 882308254 153136549 751866831 858296911 186429272 120145933 350522785 970127456 134088687 283022201 336601685 542557271 514075586 157941019 902297152 252057082 584536184 588706967 973445200 366417241 246250534 360697220 737537376 201088909 291986778 158403450 800216643 262669306 763049166 361993984 710149165 167629918 114689969 353197741 594885761 868857136 818296805 359626658 399915417 135843982 441668922 867967555 335569957 161890160 912474921 901917844 111427382 920829831 675431143 969278890 813762570 369458970 321601841 368746391 421722925 594303343 815496441 929226117 252677791 256584723 253179536 243253053 977277865 803015066 990271754 259905991 232097166 634625084 719963958 594883670 128051441 958592386 291022452 388347565 137754620 340438013 139201177 683501473 498882504 288306633 197632739 507411503 480281615 634982161 200592593 572278608 574569989 135613142 502609519 132686388 126032337 178517349 659300778 861654014 122617936 584119030 475826614 585680720 213814422 560654098 433491780 720998746 888668744 889996597 653102036 487762520 544978872 813921800 348552549 713176918 862039804 960641400 340805530 437549199 358778637 600372482 591178604 632358332 900643987 593010776 344303755 431319681 190542377 997711058 838533808 393386653 321870406 761547325 329162447 721050422 607419034 848702201 515084722 548491043 134511922 750893659 840011926 994238984 312881467 743792649 660009682 658277656 647785823 926756248 273130722 530981675 195240701 107400410 257391014 409665406 819536348 359484634 200910748 341373734 274728533 413573745 497763316 166792856 992663307 632927090 573728807 395206028 771294951 707929134 868270657 922092335 377281600 260816705 173050054 899632021 441997526 623365159 964620781 609175671 912208398 763506750 645395695 945142049 691146088 260226247 278141488 119814033 213482944 545007593 895783314 507040440 917681728 259445705 204763548 201404983 205409262 168942138 671796683 976841390 718400973 980439658 953871609 115713641 709852119 392444465 741608061 502947277 991722735 834402754 614207416 274240729 219123375 135141127 203444599 980844582 947466972 892143024 334896132 326852241 484196739 186907425 687881328 339107338 516189863 353538257 313149551 342275462 131267939 983910675 120299170 309094200 826259754 752706830 890233008 270248233 768875879 853412182 924295077 938590384 229131633 523304648 813377740 409177439 482667676 704601264 883405024 124648723 511479511 323232108 323185458 234635538 109349074 694183300 366264801 630177351 492120289 618249123 109180805 753271896 228943154 163022900 981848213 397666040 359442813 387350569 457435478 964477782 970996092 795816142 362586471 980907264 724013541 517456968 730065682 623673968 292613568 176419551 905110822 936642491 299433142 658128104 859206584 376496232 312222262 620646388 615269338 172463210 430683624 539963926 107242455 235859638 691442763 159606802 358865055 993335873 245433644 468686827 431927323 678864631 404921139 446450321 885024136 299221104 537925082 357228408 424397141 908738244 818179963 151036089 811520088 297112981 364317225 848679724 760787543 910447239 867414887 253050834 559775189 835023715 874182326 481437497 435009255 107747669 835253452 779027601 604394089 851086389 399867240 856538347 778015874 233507185 414833068 570190808 215367947 350683227 107259331 111118787 238649463 242620445 271330164 730088880 146214137 908701650 116152647 811496120 639617592 371244752 268915005 731906430 252891224 141601257 580001079 687338646 270812483 517741527 993597566 168166312 912157154 376562818 786092519 624849769 451477998 106565740 928239286 117331426 226642904 872539869 214822535 229088101 560620352 588679184 857124732 796343472 506810543 481757103 480518790 903427701 161254959 574931237 882778716 503931730 418469476 698257232 412830843 808975075 294301155 973613199 177689840 471401143 587831949 952625341 103182040 155832118 642204260 592797594 537380210 276453854 519443745 303699404 988073436 889902188 770571162 993893594 401718206 985234090 839937922 230731427 679686521 244117729 303707582 228635582 970158884 368479162 238439707 420056750 373189218 423833208 168753928 899216582 440524210 351484858 904980443 623791370 156762406 971544349 620448783 797922403 423949615 579500719 331790763 221944111 965595227 118407080 660781338 489107207 753864786 625257839 649183041 597516465 472117390 165870708 954194346 272345903 764421022 500894956 152684599 513337608 355141766 589773127 645620203 311958222 433125260 279652067 613933923 589837206 113696371 868748391 946522638 142900567 603371958 860127323 535287074 263917995 719395359 109191039 603071424 818938852 262937364 528920443 934356412 635020208 677411109 507587118 569305208 104157216 906991950 829589397 658341100 531488188 261303641 435475214 495679213 603596422 735007438 716961161 228743386 202683407 668983603 362556969 446513726 825724647 535527665 228129592 815504412 277087284 834995720 851269298 955914409 926900964 618416685 407141172 177729169 556115509 549930636 830129071 938811671 508902350 383011445 134161155 156272039 326194448 285697025 775099651 936466486 630432421 404944904 257106367 416659992 849482141 655175849 796053047 590958195 615282930 960866405 393293070 125877873 293608149 188643339 440478108 464909499 956970970 260861151 832657360 681674649 973401998 242109965 314085202 384985507 234973884 748595391 462424436 894082466 253993807 651638107 224722328 365711120 583317852 205671794 570529877 599080503 201830492 509627096 594352455 196549582 121636875 397613635 377804353 907250318 516413091 964353044 818908226 991648324 631021865 612855083 123883676 161938821 610548143 357920947 887956258 584146715 305479250 983586396 556828196 118449691 665505609 813999116 384797244 379899386 761922071 733695522 290671542 950644269 301612332 599356263 798760143 375717048 453031703 356927316 687395306 400679718 277531645 338805896 247763509 925357187 847639077 138027428 928796876 837986643 664561692 760749224 878624756 818310181 508636277 754871630 355182614 835992274 484066943 297444709 613576229 716574865 382346256 991669094 381343188 705660269 700495607 330237911 862995840 603831796 155251348 907153690 494284479 613103665 574575914 452648575 224285892 523031244 998709647 166617908 781630685 668911846 906240588 954402272 288387760 261055776 901562518 448176890 331450203 297697675 498892759 321202518 710773898 691929817 280483928 145368807 903573714 984745322 688790391 246673965 113339565 153337772 582147788 180497965 218037345 654207188 726783081 621004257 670537833 152897035 797709116 761052962 742291890 807351768 646373052 264996071 701235237 934656628 620829067 189121911 608815880 972234343 660289711 491933099 114948361 271023378 342044074 685552261 813628544 410867653 188826080 965122241 290600571 669820952 899694982 367825755 367420320 494300044 795953922 744307426 514649429 833720927 348995473 496522287 180496961 710161537 715985609 564602506 311035633 459096233 447091286 107211531 573036353 131581923 868232446 857216834 486439950 509579919 160267884 517133152 905794253 344193788 111350664 525397297 987754328 868910221 262753452 132367314 621987229 631031387 527746597 107546781 935409561 896501122 350905067 328555637 145034997 404772007 398040436 900808090 966596004 219234716 939326263 674366819 453313084 230102289 416424649 781324904 955904730 507629209 576743532 243924638 926321869 878306062 726776240 325723496 564846560 617828264 957529173 617715745 686376431 397289364 182331175 755422197 767196646 777279170 628570410 227856093 769659194 938645710 796514912 668831722 142486949 986761040 295533889 768467344 577427871 149082361 795524562 849105334 480510294 782980928 794554766 750026911 816937733 987115779 151846590 353456130 345066521 976860599 992610548 887044184 706400017 779445440 812913240 645943848 625918851 221471329 396028182 750531882 448108736 933568521 476163524 992613060 685205804 778396907 112963599 659177528 554294692 280111600 527966330 564262489 234310345 605559723 804024994 805527114 302897024 278441366 873587472 793069573 302586125 771567270 552695270 925345061 885734282 667516505 142131684 381298368 451551489 554548388 654434822 403574794 140027701 377368136 188581239 661252420 894515885 208494124 977531797 392068654 469329529 757181739 208415336 419870889 112910837 136000157 532996195 413761027 342630393 443576567 598744380 245610431 611337988 876514408 603622370 261171476 655888825 158660477 559887425 655312196 169378251 614706547 753448292 196163724 117692049 235566384 894965925 701657755 480500822 607703066 828632399 830630731 637909025 979222872 333107952 751332888 453314573 430090293 873021897 887542966 481294760 316727021 713033859 314177182 341340586 498753901 759994635 301073564 262251876 586059887 193982259 435847385 335183628 961907555 207296312 575573581 519600598 329578966 199492608 663310786 859176212 633307510 934658713 634536065 362058023 843028911 281017427 943324017 721488374 312667654 359116106 867433763 689628299 940502304 603793706 951291385 578859439 653767727 927817302 400940724 741846620 942144042 738592719 502548930 964396531 802762364 346818949 634763839 830152777 168094330 210857686 783226247 453358422 720843876 752753830 490482650 925694430 306404748 180423451 633903471 353585697 171171671 617180189 124237287 401954217 424149961 729371753 944826205 531971961 894690892 486869205 236115835 309725921 640423379 932596662 728137507 586145574 896916237 799482154 190549965 439796835 198862698 123702070 391297747 919675056 356452586 747348685 963293339 756000053 654042483 842782822 190060641 836857080 890857363 912452479 329219527 213948342 995429317 426229056 799404032 501127789 414621868 694981161 883529140 134450462 454635490 502042186 307948119 624730631 876073975 354240286 350381926 504981034 978956193 515833245 272879329 596728987 362623195 874349769 294185295 744277904 394517133 173867142 537814875 657108018 363795306 302694099 362463540 867938133 505863390 512831407 643658398 965785352 829348599 878094846 284124722 708559617 169311493 686146285 736262188 761465347 258172246 375298725 229773703 778454994 174928724 787009070 930316855 269338638 954998731 871759120 484443109 328180108 838406977 587852061 110220772 824222185 588030639 809523930 647410687 748768906 118567904 556840251 527178613 469244608 365663865 987722274 159497125 573650430 870451697 935572449 255151303 600224839 572163753 196723739 889611776 356777791 450130475 945268687 552563116 796122286 837083175 624834272 737502722 188604217 553503079 925865362 395320595 219547254 287850997 538653654 420056978 819402504 446077140 122020381 405263164 482398260 952255363 585944537 213376934 604466734 903125542 707030507 837044585 473479518 882703878 213419243 664753133 308341114 319922807 608586005 441031374 632650942 817887206 925785762 208875480 919101184 383263354 838255930 677914298 824172633 960617585 199271619 199548990 686237866 519244660 178070215 978503703 154914922 372764668 805903145 989077451 857939107 837709950 495258669 792108207 657066820 956022239 646266653 567307346 796440042 576599388 911680847 183417456 458683264 991088659 143144057 199008042 600263159 916294494 670567908 521637828 646533845 882284384 449513491 619396738 878901008 980401532 723092179 454653093 664618439 101622291 792706935 293389302 410831912 200701703 370684175 422096403 520039498 553964193 889287155 333786023 686716483 890721203 566961866 535461466 411733253 164744531 559325379 738507450 235481898 195566339 162531805 903799089 481712250 973633824 405331803 567424446 739149749 465076988 500456539 704510088 229135619 622603923 177442154 481568343 837023295 374704860 369142818 211906632 677420832 453742289 822453632 671401073 157509507 723217746 575644172 603632744 113578924 783090803 405218564 942596101 477188165 171969959 516939680 742723186 170061399 678254767 908851963 299607102 685592996 895982370 409959187 379596061 413389871 718922205 147926222 345552411 581206902 259888271 381069243 215528194 814063657 905923086 704219363 851056918 573549722 844197847 255741476 494694477 974736828 835674713 343771493 416916543 437097201 239898120 323450388 739998786 985500449 546630821 483783361 617528381 870021533 561977271 787877120 340121621 698232743 603050963 763428369 401326913 331964893 633639270 981173359 755761458 816072176 349173325 532002017 668996792 614861051 902788338 881101778 599214382 483364070 534963266 784097723 427433978 765152897 949339137 992208371 527604794 358185322 496265682 570403153 766392841 620793912 666687047 590684487 975417864 569009285 980074041 112603464 981348566 418255525 972485756 297050915 575286909 564869001 351569234 514132624 306145387 814876743 275414896 517087247 500041920 415591264 535612988 818942813 605891654 389942080 917773702 232659304 998888739 925949146 543066668 821677931 769467656 891856347 539289227 699822725 726421384 795358076 143760461 330967180 590888999 584863846 754389234 263297225 349204320 146906741 521413061 742405830 175482751 650559388 230580575 574780091 233687293 450314340 393804327 344549891 243773843 249267825 560919670 391098524 688267382 860426730 581251509 998712065 626022758 283996914 721491334 460848456 672777928 773279643 594546839 913086545 348230055 955938506 238027544 532380259 543789530 363559407 912964007 307045065 645232750 785899033 515130124 651345748 937580432 967183876 627221975 580749670 224826139 925880436 544164323 944934204 179696589 430938095 796879231 506404812 238084835 884149430 463568569 967346556 428639332 837510427 814378630 840469914 376585755 960420144 712759969 594628472 829482501 314145921 227915582 279667613 492472238 981060959 908613698 544980659 940920010 718380721 830996247 811683080 410532411 648957564 194281384 689836636 792230373 756979072 486538713 441226598 198661455 771200124 935402111 612798496 640181994 955120851 321822861 371725347 902035074 744048551 625582019 933295212 709375791 467461216 290104565 919010083 173614750 773867285 328102620 839189432 799112495 997888983 779524461 596651587 443165079 704322249 506295143 896494251 149332157 279415716 935955393 676100147 831691833 454465794 172117655 591971221 147277919 874742260 773275495 446013261 638133004 352528535 956326140 110420657 798875009 334285438 583043040 420144420 587358849 711453260 460044583 302185594 104025768 335780160 474986257 849998436 385141960 964539904 457951983 808554554 873673518 318833344 238751876 152368071 363970260 308216834 350620982 713250053 963636874 379454427 812315202 837526949 943931067 962941687 944167618 545956693 180553389 831604141 137447285 577564024 977269437 668502350 598129660 553692947 751378945 559698908 640624087 974744827 253475365 655321866 803764571 911346918 815457537 995578138 579261627 630548109 984501491 136521483 763154562 782928591 942307576 103815393 911144972 904688510 911620230 550611560 582229879 481120334 650063184 774045767 673775096 170077615 390895947 662279884 407243120 273308670 470722558 320169150 689039965 824341172 421145460 751595987 957663117 656665950 859561159 176039910 401267265 131147904 102429100 396877716 179084391 406749969 979082041 728634661 788225108 452039760 728857900 963531627 577839457 770338537 259068087 322277479 234699647 118036915 624993011 331332698 438822928 144796155 979309649 151353606 675142223 232750463 295740672 247740333 880526957 758182352 996874729 923338860 783924816 201720923 133178432 510423931 936309242 956344112 444669166 729401841 254720104 597191312 920290728 249695013 954819031 724820185 441229074 451934128 407964872 660919614 568337966 714468103 667370818 973787300 271742218 625353604 721049255 200260007 413797500 611391255 458906166 157313678 412139236 775805431 115085820 349894013 706362648 725106275 663888899 111856381 547388515 926868536 273595882 766462546 587373087 843965567 699469984 269199884 183952671 504669108 603327982 893600489 489967707 945754208 303432107 641315027 655236010 445165702 595402364 670483190 680004968 112589688 508476998 633007097 638885684 842612049 411789736 561199297 202324816 361944015 302546591 602395570 758409836 402526218 213477051 731661872 932513564 245008439 160487764 175870255 145037612 769625911 871207855 263338974 518849174 643913700 865784628 428549140 562529150 473845397 512280242 874662354 380472714 973759080 336839643 886161584 685355297 292290971 525406314 228271582 612748739 456863474 524919546 273099859 523194540 905373638 819710921 180813067 936400582 740843431 300802878 223903917 502668256 914984898 547053625 721497812 570476513 408526741 550227228 436579787 224753565 184724899 746189667 453660171 592842264 886031752 707815064 411105239 848728326 827885782 598182682 584127780 141146347 632952671 666575731 977912742 422512565 465116500 963219492 811220548 391111249 105279672 866474269 386090553 681821881 902008785 704118964 723285130 211792842 576473968 464538891 535590614 582764243 692577692 700711672 586715500 245774708 123548967 973320269 313667058 584382419 766506889 971417586 144184248 887529012 111650109 920651969 502080844 216358298 397355490 891782026 199369980 395289625 179178162 451250751 698373207 962376420 694557219 865256736 810118241 209919092 449538197 884546793 174549389 258109284 425169698 948727849 609604608 691355843 774159203 383685761 596649302 243483094 862953381 235495859 794968070 920555413 225709981 413061997 809940241 937918211 473348303 253274609 924638704 501151131 567712173 409378368 716617030 261703277 883547085 480507419 712020745 165632341 324481332 329696490 573774175 230233264 955150072 251842493 696900090 570065445 437417516 108739163 484134532 959618432 994328660 117482944 195800662 476996204 974582267 783239013 424398089 959618464 934160015 337713027 276802978 322103920 262340349 999582096 743029399 831130251 142210348 831904829 542806262 188882214 283416249 538901419 346690210 196179322 770876137 780406014 993229372 299483098 246420962 826789264 139432430 563127366 812279160 992000754 799706163 138465705 499771294 534430094 882129336 995955402 247605181 469847175 166928479 107671352 134137478 613697550 925568014 606436741 169958969 731222810 179213354 609760694 411540101 333015802 669887577 837377696 915615073 856620722 802567184 434950998 619965203 990654630 489835727 544527050 818370292 271199873 117488385 373525914 576270527 675756469 612232630 909554921 932114230 343416720 243041603 458047429 444975929 626134308 452163905 106971695 813516847 368595432 255739851 773423132 511090349 326639340 966096307 770008625 485910084 833853680 238898664 802471082 930222683 441883252 799200580 787769432 144243218 428355870 904890156 995113087 253418393 728693458 122825838 784056620 627194289 901401898 781615356 340106660 556303955 420606247 758715063 241580674 682866672 976137794 459602135 936686161 243892212 893721473 726195148 727337912 976640521 472316428 199964821 313247733 844008096 460857306 963232482 448838798 769153827 890219178 750353906 401816027 587420468 747420518 221587644 132927684 798744135 772934194 438541681 369861890 731464272 571315642 899625792 357324647 413846101 113796026 248077986 392418722 447692390 834044258 588356530 294909633 285146987 197044436 786526818 886170098 982669335 230990486 986373118 409166624 377720478 528037469 495131776 829444239 918259992 556699993 484877253 101817054 280045005 193880878 708420250 381877739 233581216 699530364 828259111 436167369 788024252 100770997 662493635 498337088 200738693 913967864 170846973 259930936 503963528 215417893 195516038 513031272 531632184 117172284 589429884 685949893 836752421 607643018 936493741 556727847 194055992 640030058 966309218 639385832 477801780 413586861 891831471 221444443 658901303 460626403 483023134 388961123 502231945 947488416 734675465 387400825 959447167 848460464 585297956 217094221 827320417 796896014 392003148 253192047 116913915 355954592 795801926 466637664 216942851 204535554 953696143 863819817 746072444 194245608 367774501 285666391 191101601 512605219 810057126 744636439 695144948 722320434 127112904 730478728 610148422 315362052 145505207 843903044 950146116 410821752 895495585 320993790 346531367 582750596 862812720 566979836 729416710 771879967 570131635 578915673 912336680 226051562 544140588 187596732 998704496 493987563 295687363 735581885 599225570 841735649 489729714 906179729 595557587 740122394 680716876 120317687 547263448 516943583 588355462 616620881 883059580 967417613 509318071 695778192 393726140 985958604 134612396 900636395 160353858 221647623 826186047 510067333 806214904 989594156 109807042 372850115 706880989 113729821 659547651 801316082 933688983 624207973 538493967 447543692 498856456 182863276 106125186 880472056 748026717 351248495 431951366 894080028 894450509 411464108 384022347 213655622 153161597 272640826 194953582 302340426 792969249 404206432 745781771 890155105 357988440 666934062 484073543 646138646 238608949 501210909 389405916 156805107 926894418 370660118 199011045 375092433 333550031 723595235 647623879 549156008 358843171 174912231 886837969 274689018 514484133 608553799 250378631 730059214 797543920 284839811 114290249 394712214 562777705 581237265 961852243 495457649 426443145 203526896 764269401 504962956 361877463 545957879 579792144 892042718 396238238 673633884 436963671 232252736 616928243 764393146 772888178 363773493 377254613 459925132 795029468 223829153 424496697 606478753 870284989 446228590 821848182 899073175 135199355 859814240 710547336 993104428 536662096 334028878 361316949 749994211 792851131 693995542 324170313 652690523 184295515 769117353 677216666 946513908 165689793 844015847 974130640 383817066 502783867 402398193 959552909 130285844 550733311 568748066 896563938 348182920 646906840 410725577 750547382 883614262 789339514 331437248 987861685 511535111 679000307 231659296 116828864 320599362 850320726 883364406 275424543 934282576 346351235 272310426 133521549 395991243 420569492 183246994 923939841 619872729 462753925 332617277 437076243 379502029 414813570 987048448 931742046 692376799 569947906 771124624 503629117 509750228 397939384 126642437 763981966 663258557 689820628 486413078 677382016 442958051 150773480 600691660 151750076 319668665 294169698 527701862 467261085 481482556 542194418 493853780 925767758 948495989 758085823 916956679 768013646 114554677 645553038 615953519 814008040 503703950 838133330 150714366 174731433 157533052 718226359 109707996 783360333 940046153 615866253 347655340 732687709 516109917 854220869 846983821 197662043 415783534 846709172 844682867 481760358 671769344 788738176 367986839 392990272 336621832 536089822 579577493 696717428 472196248 130969238 222566273 276041958 861289394 226612307 728106104 415012141 385151932 742335569 650835691 918999044 394908862 941851818 879075240 938392645 363737257 980689810 777894420 323811134 444562172 193911098 234458398 374405746 270668072 158284365 520737875 258861736 170314303 630721123 495777402 195414854 114167295 107232912 171249258 851964669 188064729 831151434 418618681 780262681 481979527 653831413 177277470 595461000 643174975 785552289 360598608 740803849 956181943 492376722 656844118 166445740 188955193 559656596 210472542 931543072 175570752 377934779 209226013 282538752 957436374 805453050 197468840 495280557 334155420 364895275 408255717 202409500 491513627 544023362 688711654 491892099 373622206 691737007 235550233 559704725 145867594 390711196 678952271 420040070 864013534 403440319 799053503 500152700 844300855 904033952 495221547 457753521 287667551 449776462 202989353 465770645 201899962 510619647 494079231 540114985 718886006 101531878 813983809 558397197 782482651 300577829 835468811 477106840 859419272 671001028 215442668 263761175 513536911 933020672 933406830 328751770 448325416 202489392 293641227 253926418 141831920 147989682 930816678 759583316 853011557 706662310 634470140 339518648 745117583 468174550 736941761 465088874 405857146 155411612 220935349 418866319 233025718 831446675 650255365 220555535 819870891 480231597 662207703 807273824 335380958 828576691 925991588 376359924 101106151 925522626 580230742 588231762 142310199 867431961 713338477 390267160 506490451 492680850 368303244 296947057 886372467 517443635 433960342 581066845 293654400 692643293 606680597 261597429 471154448 141688803 475316118 233225154 423115344 443671975 479612787 171328280 176842616 764196935 250936642 758436815 318436639 922230857 390453032 927373866 985522672 995749996 546316313 763304762 695792303 989843662 665696903 454053145 614931024 528500753 295448951 494439269 197407534 152910923 590483602 388415554 973562181 531596389 682181384 184259727 515257980 894497141 827859944 870708400 725407889 207078592 419390540 576622694 526589059 334795326 336520129 577271586 183467144 197060390 233717905 734414090 346333794 253987007 781639261 354740257 561058110 690182904 534801528 755768011 672624005 707527110 753009921 895780643 891817764 728544611 325133800 579617142 454012854 160428501 314192945 469496418 643634762 995203950 384540224 304061260 850917565 103249054 175613201 161657457 164887723 974108633 806264480 987566670 303876950 429492475 275022382 507863576 739397466 198329851 875971001 861388820 907077223 878003921 996143617 313477422 521405929 203967707 822368763 689958226 214955536 210287531 353210722 900755129 651804458 316729878 362022212 859573053 388077327 405592808 597729829 868944334 438192155 193045093 307009900 541001320 532308647 322318933 853144022 207750742 990647800 873968125 855341747 770336291 785350600 129784152 182476413 486374336 782554638 924136990 768750687 427779015 106136985 878769097 871846435 687188162 576222359 804323071 657797059 913801488 605560371 566986625 610552328 413239488 326648119 286742703 504935380 696029635 453979145 412068147 839569112 308854257 287336575 367851315 328759724 738043871 909818998 626113218 297402878 444135379 122270853 207847452 589432207 438114649 747970252 749803438 156860944 414325221 742006739 112171846 747849974 350566317 263138640 255297643 564901677 926577692 323989668 390364606 864604764 422093158 569236452 464929003 879096100 367228675 381354540 430972009 612186706 265842757 157782379 786846216 206085391 233378183 353659036 761371434 791769041 393801629 402969908 949177018 581155277 560045221 552411661 849479988 801381978 197823811 909645318 158570840 287277896 227246211 305176207 477255763 322529428 686263757 516446796 844163732 130432581 507772607 593805655 681495452 942987137 622318288 229611654 982653555 945019349 935057914 198667475 472477253 491021134 728920556 804109110 179424155 434963415 857723544 195888120 369921644 728412906 824321238 587418407 452559314 312724369 910116532 339359582 502297839 790949459 562638619 305900883 138975985 334730116 384356846 800525097 502812700 536506220 429939167 940385060 757773334 471210900 725718540 174702010 647006880 147196823 262675242 370187134 373666098 941373108 177706275 642505906 717478785 413764217 934879189 703092781 859266746 901444373 887051295 215391788 773379166 949745565 464218302 215512227 136215289 955931921 199771148 447164799 991446517 511302088 970966327 260623610 957167735 290971972 187843171 934617850 646287604 986070681 950688107 545831248 618580507 620369934 391560532 365763474 212065949 138672726 641433623 128912416 540090115 849156878 917946581 836939410 566931057 856356033 799973801 798357299 579890271 103564415 723966668 957497309 454378294 449930873 661639044 415337871 523286135 543977559 599821684 608066346 513993680 813519154 241453213 658749932 525195389 378091514 655926386 244391924 357761048 979195055 457215133 640249702 445399811 384784801 994155034 220450103 280746838 683431917 610931576 111324626 498681786 633926315 584155883 521059591 763888016 987048559 111586878 310014686 350762726 994077273 683530868 695267220 932585765 926123588 331461815 965493692 410394355 953772591 119029698 300088715 738844945 731651509 956899838 530813243 258458328 314837212 343162041 386060057 378611350 531508505 512591386 288905888 374319016 485323281 585432718 478571539 774662611 980610868 407731800 928139423 432026818 267232528 745831695 109181056 383500169 727407236 546092712 125008969 431755353 989594634 900981248 678741921 163011299 663735308 228526130 888948943 700809067 303344433 831413465 824915327 240365459 258496448 323977759 310249947 922273692 964885109 785702287 874278757 737548522 144166423 456601146 569149470 965082057 472551779 623394953 985582220 598528148 553186999 703700135 373492139 698803292 551741153 537142536 420361047 287574971 270978437 427886633 137285110 893670837 170873807 171646841 259057317 525940161 225303999 431014386 130691418 462037540 226816573 263596236 665431540 662403335 135909283 404705901 976601641 884368006 226654102 909549281 851919412 964573304 549826958 609224552 493260107 141597834 218000449 363108228 256225136 740173346 306527478 147444428 888453823 815654594 781398866 197900543 728148720 546000819 864863580 684176780 994924816 488854167 187930971 415157350 156775025 774487693 163054041 850585341 985841679 266261169 375906990 273871196 310700521 470823888 442229471 235756364 582222199 764625369 732569989 750284733 294637946 893123125 350429404 778889068 706867714 248987761 336309820 387117384 450085228 743734422 822693875 199850144 712347594 970085261 195009818 835228998 647634814 448223746 128625834 889622619 152521059 427739473 408346839 654907240 720319962 724301854 976787685 261961187 825405790 661130083 335123384 751337200 427415240 720875139 903729550 347173246 720250023 580668614 522922422 553558380 586864409 944636752 130609707 528512019 439589146 605575003 461669788 704900043 590844421 792680250 868409389 599723311 524703812 702413270 540238884 713513061 516050161 917991726 967666402 238473363 296248457 886033697 352467746 449341710 662935193 485639111 933320100 207948373 275929786 136346986 571258641 324286251 897410188 933993164 208502365 775494745 988427794 103536042 957854095 307818483 792158851 334178199 563236295 500502899 435328633 776419627 995146412 776351541 585486789 215367667 596039607 730426008 768035880 200013896 905478981 179970081 528319204 847166414 560279118 158715894 444684152 402712558 832402373 134305415 674725372 667507154 608202624 263309683 430451459 283553260 592343208 439247091 883454442 283124995 722054157 431554914 308818435 980754019 548128680 448898156 203058984 746063580 169091782 761712840 785723973 124294088 618234946 119423830 483930862 330899014 622095354 173492670 951044304 536561421 914745024 935095751 304574569 249606865 216086796 244721937 929689310 241201764 256979292 435196994 599356577 537199805 516722386 855829740 519039731 637956268 292466525 601201615 239600479 436520277 332774160 998605621 171241012 665694059 312130819 633361916 118944660 540506753 857177116 525607110 824809828 835332752 191012942 340052245 956516601 116909259 286802279 639462141 359338703 348772462 959576070 302861323 831411770 483865582 968911504 836799687 538551541 973470004 126122803 204949699 340252843 794387603 750686967 867649886 128537882 815987875 261509193 586866893 908861142 422904941 627541647 865702707 687163340 850005529 791873645 574106155 638280954 582023893 437709546 557716000 335222548 449260585 919196577 138059366 144250802 911618993 884549534 937908148 734171416 681356371 514538348 835054265 773993501 253543501 437315914 855206233 667164297 213807524 884743578 569034834 151786181 360688233 900946316 998890389 131278030 629645934 951368194 929678960 584521999 947662236 428827289 179951753 855302119 706037942 627878871 419992365 288296587 812574496 409699320 372193456 993338996 166575973 169404685 597854219 680893834 906168199 892723129 361777569 712002357 702115130 217244817 782738597 206541529 157628459 843032330 940997202 881267894 149052797 252047062 181002501 364277043 618244346 572721938 187720621 758746846 914217755 473732359 530311678 575593579 744867079 540567623 701011801 154561594 766987598 737349767 693165088 569696097 336495295 963324872 515069143 526393884 845538440 320397239 109551466 633627399 788469147 908318798 392210479 442948428 423458149 251374746 804018259 579381704 653543624 269086362 705500786 498397896 619681776 837166232 496300313 896445274 604968029 580584985 837540979 883800072 107596934 359405571 930038891 791482245 764153924 245560487 436758883 871896289 847132482 680554337 354942281 405414949 837227615 484674375 375950208 442683460 260609971 933522354 529479252 246791850 820250380 936761078 764448606 288193166 619653470 527227183 530421324 724237319 525011858 531010225 239644882 716182388 671402484 799229277 884983556 415872826 913597693 376516978 185404288 955847211 886671618 836526358 498405729 891300190 409283359 482033131 999271804 897074120 361477689 807432699 400832793 799653999 688632775 824252473 486881953 955150619 249151191 262657659 767363565 601906189 828013091 489097706 824645222 384994763 450567799 348214641 793285490 545029543 786440540 902718395 991813957 548857869 202908465 376674635 724008227 567070735 462369244 781450019 361514786 461943141 597947361 329142873 811398543 181693524 401853545 754573948 605463285 911507926 754020143 867523019 249710191 145182907 534532380 804199098 707929288 635576658 543955460 719309940 481239719 722051249 610405444 614941716 877893989 206388437 696564936 497044318 345704082 551312011 562474371 250604295 507771497 267476489 449581856 110363645 481279029 216087957 327785452 634184749 405420457 448591500 411511445 382538092 121169940 775181824 973325148 306952619 709934447 963651116 492474949 209866822 566811645 434839029 551994001 561574389 211047298 702165242 747892172 920490890 418055309 238358165 192703578 428909682 306513790 143945468 383594236 585747016 550346392 470385169 624775196 309475916 477855689 889651022 744401498 305262487 388983440 519366146 572460679 206472199 500237502 203507824 947900285 989599820 348052708 239662383 583565123 927621523 964484238 907116781 752235524 539742215 877094811 588955000 153371625 634055436 925470777 129029785 390881697 529951637 221403838 944781273 663988849 944310311 441009819 909995084 246953146 652203126 450105264 492884413 961107908 212924621 554893711 306766668 393469164 362708963 673915290 919657870 881355382 354997491 353392427 200282406 812358885 700470368 213062714 346211404 699579051 461111566 332240366 311669641 324911557 420703387 284992657 802912917 197553454 911011287 407943164 205749569 253768103 264883655 494697634 274023079 582309869 539778822 107083380 925079196 605766528 241467402 279165314 474269394 668497229 487883561 127821326 980322284 129064690 117987573 254285739 981594640 595939907 341774675 123570572 700230189 122208183 624040523 507121823 577610993 678901609 751978867 776777796 377938606 674610978 437444261 592400203 821220847 691316170 380262931 385145776 658247023 944301732 634333295 297082834 516151791 377361484 278647598 258829743 175699834 322988271 901782271 387208767 945107165 168053195 419035868 244200538 851704393 430824159 420942732 535047240 612107750 844531284 584673476 757667836 234992014 233791670 630498301 719085945 572859062 920685378 804930265 155017030 353645450 912189544 995100107 237013989 610588796 616636038 204108511 670950469 913452851 494572705 112925609 532863810 318969656 894936734 302219610 523175396 640980552 949001820 386817341 715646488 667369888 698672557 205871470 183998294 229907858 808120759 528202134 863611171 163172984 577414933 238143799 904805617 776052089 312077755 445511237 570284033 823172612 592580942 304029898 210063688 505414955 661410194 725837328 139459848 861939395 774394162 679535621 118577074 512553681 656775771 869181692 445012547 121841447 639615583 695823146 421502726 828634000 549991206 910548039 731785566 463129580 982907426 504112513 495017479 334135376 509106368 156984252 919438720 321238397 629188710 237718211 103402840 352664568 419319977 273249150 370818578 733622763 706486457 255364581 761626382 112186385 698825740 532746113 221708107 448131763 207945798 135328198 305451329 586012425 334672928 865167098 706203798 803649688 983619244 612615560 446163368 680928356 444195843 253444074 454948986 532811812 849903984 277526803 764281004 839434103 695236729 325823304 448941933 803115776 629905243 500039837 338643622 194805765 726493909 788249110 205222150 945709114 142341917 149850630 124156173 251767435 672503362 415430797 779209256 889044079 537146956 579902496 937454328 318284990 191624191 639544152 364348938 943737032 614882803 629022575 929965077 444969319 339310450 396028526 937864012 969386937 472493538 492093759 101024786 608115393 768670986 331305065 781290524 785813039 397165990 716456737 371706314 517356797 197269428 632603320 546574212 616305978 103947678 512838061 901819415 121314929 330751497 229112085 547361138 520569603 194503585 962096663 995872181 219585880 590138474 458469136 793529508 296705328 378656716 191346254 726245611 111760193 534278110 700709450 526964626 442246629 533562416 549017404 500827874 863047319 822212579 546943655 584932209 477279152 862042324 492195763 399742425 783550389 610308597 565583575 523018070 498841604 510179212 586939776 633662399 503140809 763035208 254864113 367427065 254804906 285872520 938888611 914319030 761664659 640890395 186264549 399516135 840872653 791681567 790120027 146149140 578399902 784219444 675682250 681136081 525721981 346408026 630114588 684055927 863889433 468492472 438481265 250399861 940080385 212074983 621207569 233222417 799509649 392378784 298174980 323140108 640317529 187779874 760018856 566973844 174564163 699366194 596423855 640664295 562110963 255789533 737635546 894913292 502034225 430848858 567872183 590762060 390267200 535064530 771944031 386597911 416215833 430205694 407678846 646547401 672679018 240500438 834974002 587009194 296260477 364072119 632218435 377963680 682057687 478114968 518903789 377178108 494168565 342121244 426959185 558546573 136277380 340486806 447521509 157915554 423462846 343942787 850218461 392980741 934075579 108570018 216094158 739568193 951889374 353141084 878792501 598337203 745883177 426889493 660159235 505290663 226687969 269157535 939624389 365575366 133838674 848302789 814857622 481153406 610649054 179839871 812304399 855530103 816090130 992249540 996066961 528571120 507730335 266987072 932770585 461881124 629911671 788812271 707394616 156748080 905420395 723441769 890691520 324208999 365279474 245476236 693597299 728784306 961569353 351725350 217372451 442772579 508751016 715092525 426212349 142838094 702840770 985557819 535686738 501319483 138780616 385686218 453602312 380218405 598826770 648126966 307079784 603488938 408108068 904739762 538715210 339786080 539123126 368513105 654358742 383662922 866087452 761570309 133628384 181127658 630964225 208271768 822356613 393607707 630891240 344138369 581405419 364115380 995713123 369602928 472782809 924713533 964473963 237898858 707208804 939935696 905168260 278319525 539448486 336429860 323100251 621436798 100510439 735357096 851529074 994468928 513336260 201380454 980845025 514631502 352144537 150494908 838002713 489963687 315899746 301622675 839471483 900520272 573335460 471554763 945910571 676819877 530843627 785887363 767670318 949307818 220909633 307122933 184780967 718524786 598180733 211848872 287872109 431843889 899915890 233660903 383143424 286976698 749635098 234558579 885159242 435523159 262203922 113351052 950040141 474732710 668607735 761394483 745930375 381187599 132450798 104131587 558988702 266194161 303241726 232947604 686616025 898231559 283892363 922313082 514158983 222311138 232936083 617380286 393195566 813750941 900953577 399691572 873328785 434331864 232114646 831057137 358080827 861783883 400868172 997938505 886555410 973092756 405709698 627086118 970239751 160896074 553071961 484144128 840829112 620896770 934585483 414071888 451915250 284465978 204449114 656283897 977278495 351401696 830973724 848596742 142048663 548582530 286644527 286008343 125727851 238817313 505016016 422345405 601865674 990935615 751172869 937778617 421097321 896780755 722703762 614276086 477812633 621098629 173092297 909140128 297022851 174727066 994194498 305447207 191709839 211421072 879909197 644743396 316603019 646804891 643801598 420290140 618832876 672255326 232586353 873344237 176038304 636224925 236314052 520808063 691835078 513508499 827243086 459218761 487035599 598223832 659790483 634613748 837941637 716838899 340634205 753479025 506793818 108261904 530422272 217550962 391689757 567306907 154147781 765474859 871797918 386147028 746175039 985315358 789387955 312192838 112082020 642289529 916348074 835931376 843059033 197144756 901618830 740082354 883820773 925317329 638042984 745038436 570223383 770107625 699865552 433981595 288268154 512963261 795217809 409801232 810382528 575417264 343710591 267734845 228229096 914431648 639598486 567622830 745270087 591891797 992618274 160591863 127454895 388287927 887248052 461376251 790127827 478501778 410376094 798633677 678971263 938040043 335195318 204065660 500600805 372102885 727524102 294366825 828385271 632389779 214556306 765281939 642873068 431153246 642235508 384575583 709329582 879428899 190015954 331273297 167223341 619546069 996316358 121574711 880297962 728621074 334463956 612546883 877958955 689816953 883048900 670816812 972342690 166221109 504798617 898017740 669631272 256149374 725646843 850369764 445268992 833880647 320305682 556830106 927441285 767789520 905034699 206413020 121829975 624025568 415790756 473958227 550004608 217862105 716330460 447602676 458974384 229049516 133443489 867774175 542506302 927890842 253944001 771934635 216167384 483536875 221182680 501956468 487960772 190087956 107458691 305502493 586538018 797139326 876968291 403450836 773378380 797900916 354080314 246068901 720183781 409586980 552051846 119858102 767940219 836089085 293344648 322306109 831752075 319660079 672354300 477938221 153388994 648474894 301981092 631034199 147286020 142110751 755665302 374327252 932731138 711803902 561856219 555470625 805240275 295568518 183325693 785569770 597632058 741844505 300290718 671963499 856194875 878817481 342070655 612561255 940509534 387980298 619357280 342641163 276189946 475009899 128622243 559401276 439834383 871364632 321454730 818449996 981701832 138404940 668208739 829377067 711499153 966160411 999779779 757245487 356356010 173771920 107302943 664766352 119839758 363610154 638320993 936596818 664721584 288714123 487942385 828581939 158769617 260444522 123800278 604374898 664862088 395149093 399601415 946327682 224882608 396580984 241473867 862053772 676713270 498891620 720706071 520239094 484566482 487074148 684160000 791454135 534208449 192634422 300350660 945921997 404333176 314932651 287869539 442412002 937611017 114579556 544956825 979961805 495731134 479111116 567443666 768040818 112973493 501212330 914790256 883589406 121859559 428391751 757565167 161977857 676244203 347047743 631130517 464332792 354034892 268574670 162017508 500429567 494579319 594757592 978052591 147729334 384264672 538568322 576923273 857079782 867517450 194243688 240182031 415344875 513001592 305014614 790908199 190920922 518762419 520271641 850954568 776807776 116253507 377597372 773621054 407968054 907900765 915015486 399165402 468711061 909398362 110825261 590479776 639709595 542097201 788321642 855841074 423752980 378098853 503544297 597336624 512312635 292366643 992541139 854015214 506655166 742068046 470312975 206291708 628202775 876191937 812049466 650202059 853061916 284696581 453355281 491240514 164736431 215060151 169132818 633189080 514472400 361964742 242335179 224312700 978956734 639156281 936958230 896276999 770922256 650869305 223882659 504377409 158307845 994982919 188172254 878301853 609560588 884006281 754392450 159577303 542552518 342516678 652945736 923837381 246608335 767502210 143755452 931895709 286559699 147791704 326277271 451567080 233161398 758250769 803587135 388057557 396795225 980961093 716071192 691262209 386269813 582998107 695052266 350972451 644709024 282433029 792437291 865312645 150876803 572534035 933957716 335079646 136670759 614919702 962302028 520037522 516950007 731837922 117360774 241021495 549128940 380573811 708767021 425084561 600520078 621814107 531266062 384519137 463556326 183865545 761621952 570160854 272669843 699831786 878190166 791559920 499863305 201998553 981840699 129677101 873107282 821769079 391333855 378317715 989553656 646128137 261337162 943253870 520560903 952050007 881650908 650892608 414547129 684564046 477426804 608085308 856702862 877063184 472908574 930471181 914781930 854182399 265985691 523897485 311500547 847394900 222558364 784137845 938570430 737097783 685803329 203595763 516088205 353227751 990823098 656646606 988699394 466416484 695858549 786209750 631332753 663497128 311350220 413706874 198856718 525257306 588068400 603035867 947699975 791116670 140486585 855007041 392882461 749457383 154277983 759575340 599404321 602521392 333940884 579367739 554437218 537630019 540600113 161182823 915785261 465714727 252226725 611223477 515593298 167025156 821187056 230274718 365004345 286689469 379707250 598687778 275020637 426547262 931867438 392390780 309497732 882487750 574280795 417491964 836941188 239491454 951916074 161804251 626709171 125024021 691242093 122273703 229627506 250821643 432504119 394258069 681632069 833982033 733337595 971519251 435274963 844295467 310119624 787976410 393373030 621034615 720948537 361122871 327629940 900581595 458893112 310943947 487370255 997823162 230213363 219809321 116961718 321494812 852736820 753077874 621599293 141836445 154042364 137039581 383402134 834848268 754002427 749509438 494600739 620504497 644549435 308387623 852353333 767541152 440985493 651046894 654828446 529064423 817366774 958494106 605108826 999003517 888316175 640087213 877499887 556265326 423141672 527444238 327225121 926054124 748673999 734244523 781241257 601460844 128420431 946183871 955879619 597091199 297017364 716628571 465135699 698199247 325213599 819206236 326939941 517424416 584275415 227076090 871595878 663131678 404413988 545505515 888417351 340528810 350490090 137522373 301601284 896721366 535147563 943369517 715055825 466035613 803635183 227785427 871386438 352351062 248519779 401100145 170571198 651474580 645499031 654681716 759142313 573746478 107372883 968879423 761309137 146040228 230233319 203481969 706434721 732161157 741865846 235857325 494409252 346263506 132038585 497393872 861738598 556727954 794508948 208926372 803648756 389847511 634331856 585334800 125300100 136518836 826546636 383756162 192905904 478154735 891908726 582900310 936516108 708829048 969709257 957126733 524694174 101297308 127813470 438043874 985318807 341964501 927877183 816400894 953774363 526947189 538139706 982755324 505333031 206900413 606398073 188601495 479371011 721380791 109391895 443401186 379418519 879085418 548985598 848502257 343164751 684687461 960456611 437320190 604295779 709327350 135780407 240180571 244630757 752976023 972736687 462408151 337834187 117001686 914714452 336731389 801299155 503244601 920137553 767849565 930656518 742617491 704411396 522858893 535922385 530747432 608058006 207203893 120748413 782336695 765002562 303989016 902301039 289678359 309213245 791419026 890071991 309329097 976338334 102658540 575567606 415906806 586359774 763282288 280324024 727499124 204958614 357468629 906890752 232801739 107558020 421727990 538320539 535946263 642486081 794266020 134095821 345127966 443737507 842072197 452370917 674187422 712130369 610784362 840798393 813519640 759582519 798383644 590457064 472767300 954162322 824627515 979318853 827180878 847546224 476700852 391165927 720550307 626527023 513483656 471596427 932915136 926104022 891241166 387168949 483036117 853363941 234205509 101369788 308718092 775028705 634396409 719884462 368864106 359305296 883072659 136036382 766247435 685216419 622261762 565450336 761506196 718590308 453126582 833210051 705006512 640513661 960257282 134250581 225102240 544800164 560278212 549011083 834752345 705233907 950155439 729842945 298405658 361464494 865040326 247854254 512504500 116073913 307464403 755575346 932468224 296121183 237047772 729488083 115393248 893394441 369715012 224514499 597820621 801127837 394744063 410979462 976695732 111141863 469517178 993548520 895122348 265184771 722839426 914132354 909053091 579434543 606957693 283045779 453374348 432486045 340851895 998457005 508468214 651094012 208401950 169659091 842456542 931674611 875934666 751496085 599830543 615562371 247159940 888367022 533307669 862684194 771316094 192027129 198738812 790382895 193119773 964014811 108726463 572305467 499379936 945986320 530864056 984631258 605923062 123949128 174556389 900174312 907081066 530961291 937082223 598621360 526287426 803313876 869505019 480365711 364748559 965228664 723615457 496022600 644472127 539001797 197371005 936099763 115158667 604709520 330157411 385071847 311715421 290839145 345848475 527185767 228045218 231783625 176146849 262914226 202722582 646085914 224654377 180245649 192042219 946076145 200427428 814766376 813218055 282315241 779628482 788983376 156780749 661608935 633778704 216177343 846760762 110950586 441695208 401677045 945345949 756168329 396770385 635462876 833416457 261875049 204844122 969209914 472801063 180190340 135359980 499237524 534468932 453478478 226842969 194500659 914236297 642843323 778799138 175303102 343512005 481337500 281164967 915571995 449751464 618818043 706755898 106148929 287050780 495561401 251222936 113784174 681171788 800439259 614147771 623039425 670587334 575184859 389023495 483080192 211097469 135100604 631400213 138211781 993045890 472340093 376207668 860686932 798302218 324265988 644910403 744809884 780517903 136124218 100107836 827423479 127044407 642169297 925453219 843787413 258883161 671041710 324961296 799692742 551323937 751980146 812341170 799433397 271465336 955529414 540730646 577571446 900351515 286629293 730806869 804502549 280782177 237415912 115658144 384038714 907466011 609147173 174739570 671198035 878079451 472488603 519402378 945064443 783214469 317376090 899803634 317066852 553450052 284605136 523811986 881076541 590722919 530894386 513094453 866694154 740288868 932327853 849209484 998132171 793906145 933355021 263327191 487802685 517906818 305263867 893908585 446413430 554110136 338167346 882213857 472228838 920180546 269259963 159660040 530587072 520277291 246219051 272826257 265355437 934211580 706198312 434378178 348888411 422531841 686551904 267017250 876737672 583666885 845732484 306715572 521186047 757535359 982798492 933048589 459023735 436206457 133606689 490991861 475322821 649698417 409683868 842500000 819250561 989459129 722585115 458367297 778078377 410025329 787370864 118773542 189860664 205052961 568761888 448892278 576694924 584886747 778113611 529969932 651150972 824948253 592014647 104038422 391170350 252829060 231518149 840341687 438590804 803103370 721355740 132425404 145413077 427688972 165328322 687906063 981452929 509983651 265437198 430917938 148170654 137235816 547872107 641780250 549954481 614371333 397520073 749979365 566836874 417490248 170611139 734739823 437625091 766038697 613715734 657520103 473750081 475408471 524124304 772036006 484294413 103722837 615504261 849649563 388306036 347715881 309882117 297046195 241701757 464614117 475731564 834175429 677775856 239478307 824781800 781421034 334836695 706932167 957275211 125087674 399441815 970965555 799924283 974459742 969294952 337824847 162508858 255353503 954074608 521633457 894593003 362521623 655755226 188654802 446091063 672815452 182013041 312743172 651130545 369508531 948680145 153226069 441577859 143151707 678581361 358109862 381106220 492331641 586226224 600791719 338636499 406683898 801093075 969389632 377446251 596693244 955675056 719351845 221923813 336928896 783756533 872938058 942755971 828116159 886773511 578430268 871454085 909874248 666158250 560803384 560448951 161040560 768301461 295000944 978635603 338907362 487971227 955197246 666116059 707127142 609981391 190028910 198325637 340940397 338033596 204898501 488388711 105082641 612152506 822750100 267454222 993388923 933484553 156778862 664723342 827340711 101700342 829135604 820604477 891316147 814016175 230998743 473498184 777244803 629992106 440153118 461339871 442967910 559258419 529211089 587445090 741635566 423129001 383584803 845056145 393804604 610724734 386701668 976665606 350402378 826862221 434544591 997446557 763275835 534143893 540210232 968532201 251195023 720361008 585736122 637277599 844154889 640324601 971163581 586488621 301830103 830908765 976804078 796065565 692126699 877781363 344014350 297281427 332580532 718665731 509573880 369324698 850708214 717679570 644550277 397454924 989468213 599895972 204788607 473425855 854741851 620466814 866395367 732110540 310875157 749235224 180641158 893213922 537492436 383836435 720066698 609580389 215443421 367849272 433469776 681346785 984029670 801158486 318567219 343132801 456433111 907527059 882839865 716193177 281172357 525961229 586713892 158268048 435956353 435413206 224427734 905241466 799410197 869121190 805641667 199521199 858693804 204986854 878863592 698183620 901869945 184864312 913970716 110819451 628227603 313928640 964601410 366768696 371382857 364870461 402412507 164110666 164716767 169770431 700304658 356444732 860227023 507851801 549945591 285129740 996427288 220286021 138494070 484081866 300098404 507059996 105009075 860259221 312229471 979278031 394437564 720955207 277864295 348427841 706064255 936587060 380002232 779583107 399946545 382918596 971482470 118684598 815779697 116504504 802509824 152452376 331032674 751301269 528332919 530001592 670977476 816729099 215286486 598833676 290896276 581515976 810291791 610451282 897881210 516025763 643471159 501457466 476665395 859784694 232407204 602116270 876053144 388486608 704641671 565185687 861533331 713896005 110821535 470542535 262300148 715010908 728624848 182728696 665459668 856530282 265128827 731185444 998978620 470948947 655475870 878631957 403487902 315458744 195063525 756465305 552847470 913905359 642879809 157631309 425332745 374275362 578288576 904081218 161658865 791088319 561277893 936422118 999413400 545016884 254401416 257963677 140771628 997089651 199186926 343699385 584877354 418084826 930802034 207145504 781699805 148355966 922001628 551268298 238333240 577928815 714001423 765597524 685929200 849571346 542658876 395990810 859579213 313604407 857103377 153326771 129427993 550963451 485060296 411032300 329602636 339253367 741376101 134095919 791245742 938203506 265027190 918530803 328138037 408130113 831671613 925954199 501991951 233232822 805118524 367228667 941097803 570368968 311598029 197270211 543587688 139244890 157930432 619893904 648937857 257245567 760379013 484882282 955077829 217494914 255211507 474420480 339977232 336090793 162457244 978277690 262601149 552605838 193943369 294917453 600297835 967080927 876208100 803994136 897699917 395488900 356939333 984570742 367259488 975595099 769532279 976231598 112672132 493807242 372775919 512220650 894648893 124267492 431450475 279266733 850114525 646118470 295011227 724610500 251476637 988808835 199066640 443029558 918674109 117165932 773153461 608477926 415260835 271825318 772913364 139872522 499283989 818058532 851618626 495662410 946455620 565575434 385891083 712217955 353727301 848119393 673724520 186192290 398305860 735012933 281959275 333700558 866616030 977784275 184420174 846768581 272846801 316841592 286369368 931942856 526034579 415073289 548278425 280167439 848236792 397166629 598683892 143105844 857500915 918216338 944585881 878609465 296251007 574205231 339794605 867440140 585428553 558019691 118694937 682185463 643895556 369144800 628652784 267640360 912959076 768072182 195364947 592184973 661017399 584899784 314442794 332775710 342264122 660111840 670264507 358471225 669422935 847992500 373007022 569236835 929495741 481909519 786986007 208546576 708616673 389162148 513634037 137463910 160528849 398621523 265800457 124409695 764166008 244801173 160559643 907608959 182662593 531352278 312426539 499016344 306490217 587151110 732773936 372456316 753709697 528020632 683689445 202560348 437648554 884662203 511674985 485748971 263045200 602549008 672469354 442714554 597025518 587451130 160451382 876855402 479287468 915190816 701679655 726584478 698229094 386357369 414248915 480287010 815857972 152147024 456956717 154966737 173236148 350680262 163494737 954862282 872347073 926788660 275962986 397420179 182427669 276885878 111772795 447794510 176414292 766871406 385381291 547675174 389488280 132741372 337390353 428110340 922877159 834263662 983021899 159884727 702119832 960941598 209229850 638807281 915689373 244739319 765127181 915652277 711525306 570544759 408534458 527790671 964572278 663693402 333059159 679169250 446029344 707401643 785288889 853694170 328327258 527102365 785535699 560327964 388469133 605429619 681617040 681802249 887669918 630348178 631947291 892743762 967617231 636481018 152581559 492699245 210986550 429233622 394946963 563451975 764873255 293830350 880330760 630076536 995737071 501323251 478301967 880832869 525717575 181663513 869239122 752862264 955938477 284817671 725382571 327568127 690287750 129070304 908092953 469080141 226054540 417737018 928784478 850634704 154558424 249616202 935670507 878374670 846299064 465274240 824891323 581304297 769352392 864323381 668271530 606611854 992689452 950505827 935031731 858864532 376563513 724961280 684889846 283830575 243224052 484063191 157290023 116904187 156624844 845805287 352168092 281482997 325290542 408246886 974777156 692681800 604554765 495944292 634096873 953771196 203858530 930007810 555060703 285945530 619450773 210495838 233351283 441890461 139461950 424052212 588276136 238093814 345199330 215315747 947909344 121708930 468291893 223555470 723170669 974667355 730470911 292394851 283654678 982088392 462221277 256910938 569037525 906742858 483820261 857222905 453636069 225821733 521530903 713396643 193466018 224214863 251082821 192555399 192465629 985119840 402205485 675428543 486575178 789023765 186248659 389937794 654655802 371640924 824854899 626494870 219124271 289056591 778161758 853515750 597092276 193129867 644243870 435642155 630165405 728283076 841078981 454383477 234868408 589289358 371762534 306695525 909515554 283407408 864010503 822904919 396766990 949263320 365965052 886149811 890832273 361610308 135516410 402937760 802843056 462007763 446278860 700061396 104845559 551379850 466168637 364579772 828099720 273396506 368982987 768411428 537900662 135385422 559633186 328238229 907606643 278674011 652368066 270223828 638053399 115874173 280516211 936077833 648533003 390031766 208083937 851047877 602505303 495410917 845070148 170089943 804194666 184004096 633290909 592407899 356622066 696590614 322538379 387540302 559187260 930709067 523796544 718529158 880354764 167696530 480867500 207242244 333132283 781434965 270958083 966033622 660010741 505982065 294888855 946427455 222538421 161488137 691541754 449741428 652791463 164255159 254528542 282827008 613972523 537546633 758999650 120058296 388009923 238262520 915584883 636873576 850857210 362466576 851307906 898587749 380914478 679174548 479102901 852145740 781508487 269739252 248447454 394659810 484035276 871030213 381697593 970390319 751524715 700143936 680621185 315226475 601725116 508525056 522213111 142113336 839423941 551068531 571789474 602015417 568705804 119917560 998706599 250801431 766344370 600696410 127156740 106590380 769112448 629870643 920778740 611313044 141242442 683892149 789587417 730919595 543343693 909281701 632557474 623710913 987107399 706830376 590054703 632089241 656832655 594474863 651114854 439865497 145626613 100363118 762035234 893295000 714200739 708115012 277433210 842884997 308198273 146365612 473624745 482811905 957553205 365841250 831995834 794468061 938860777 786117796 941905766 755979299 761050395 522535248 250408116 522748462 122475447 224659061 756499999 217539756 343137177 746960313 750269680 799060868 830608109 839169932 905230801 223340011 720575912 922545734 725526763 691000589 612755302 709048868 290468103 173047390 265111675 291524972 956495931 443937090 310965292 178115570 998713393 648585685 799824255 995932587 470355501 835581555 264090280 968565218 334981935 948241615 563322201 936299637 819637653 245442084 229289468 580411789 454693010 166407626 641713373 339912753 339684738 521884177 622398786 708289051 598013228 673828201 655454264 141168796 417723199 373891567 973409235 282758779 699231356 514056300 459314944 732596410 449743659 891102153 400604765 894306016 995182117 127449999 720019650 255471452 361877557 479822773 407909809 855874018 292100606 554747944 138086897 979834253 272263831 108315962 926949510 302750889 646278992 226315689 115669212 355035153 334263827 338038077 437167501 103536707 735427569 662314023 420427576 134163983 466487952 394442368 100075146 846654738 894618656 569578917 600832336 375676465 612171126 908659968 538222561 911813419 237951341 211384316 611710175 601413247 994523920 728429238 611067049 495511160 386367365 989435340 410334699 212844653 859022165 456140649 523633018 200771714 309881351 895790011 541923316 167999028 641720694 811631160 839721450 881480708 432673225 681234791 301348181 878168925 303500670 245874492 703088554 556194395 384724603 267221715 540555778 898380268 778199028 425665157 820875877 731015243 848563671 136425480 529880890 584847028 802724890 265410083 127782177 588667930 566680597 133955190 133410370 767129934 502446576 819147007 779178424 347692519 443552262 888145708 517151635 708615764 934079950 311226279 703246194 509729769 912343790 394930124 907744406 529412104 247473321 419655870 365246594 531012463 429274237 245070407 928357350 374503570 766961375 305140564 502449229 238692742 626777805 806704800 748114450 996259085 861172106 754448703 719249639 128623075 933636496 435876953 619587290 989999778 733734871 393729807 210199777 786067682 244601117 441599920 118488044 726094417 366787335 994474180 445945894 783725423 661716261 224894237 442801400 931197758 308398412 491782630 842825123 526226346 644499680 889681531 321644374 469553715 514992548 459769100 164366775 493050328 307016090 388842205 131049153 804420500 713581203 456309318 530727145 206777720 103778606 207193414 803289946 525895508 657136116 548675281 112044020 579812773 237358188 297256556 657272146 589464374 466338982 864798008 846294583 602544421 692504020 933714764 327255380 979048591 274068555 427164295 192135375 219106509 826102361 205129280 114739330 503342358 582006132 985972861 981899683 217215673 854252949 181030383 817888299 803812575 545891975 683895824 701332710 592997655 803773974 462880006 758694972 669257038 552549415 495858489 655847554 786035828 789196134 277357839 662286786 651218632 926587212 235695272 306554440 288315060 134031562 745127860 925896811 133963694 229547508 970549444 833458293 364279848 273040344 809447961 354942232 663082961 219157315 261130914 583841506 848981239 773640359 194765859 789305626 267128422 714496011 733498202 929632300 285338096 525571409 650615374 820424790 643561330 689747182 946177437 673813119 287789634 350954461 981656257 330649339 357950944 417433659 143104139 548707495 533232384 959275484 701641021 980030177 394748474 340942237 251349700 154408515 430885309 941995729 412655678 838073087 284415846 703040515 713515041 461481489 942129395 427134464 467000292 439457850 746535806 937113110 770836704 164242327 738773751 352625642 454709243 908018187 854223506 222505742 414860761 342061589 519220301 638882266 951201970 461188510 555169864 321064388 854919394 889814946 264411627 580488673 195728324 583903942 179262893 201174010 266016301 794656611 985662825 146615818 149015997 406013931 109238408 344119167 166955964 278871750 286873024 969447598 212606794 434644122 330277529 190501168 123070280 140097019 391638042 643407644 614796731 808740066 148099663 502129465 674729375 433945470 714798484 242670058 504356846 359524035 347132938 572784120 781628792 696630791 861563335 485180481 528277971 232032241 914177384 372506760 766197444 187828649 890583060 860376731 146960482 142600869 576921890 429024847 262032144 392502108 303632003 280189617 454284266 509139259 349070435 901441788 917008910 579736913 109963540 470962035 350166131 650491534 130191413 683978504 766216532 728641892 798805115 623926393 898537166 417714271 645587826 638613936 583319861 401884462 516204987 482874251 991936536 431662310 292421908 928258671 594908009 397551060 735129675 192262793 837901081 651980658 387063341 315083789 191571014 387710835 845569580 835322340 533713651 776931213 720704685 358786127 274140098 348016560 795492325 346295575 259616090 434830117 214228659 548589065 503714595 612433014 603964328 156020534 160047950 866274544 254611643 159791199 958753791 378927804 224852697 847831495 895101185 475112084 541831497 822973606 969613994 979090711 544598862 561546693 157086974 911098974 542881093 531979062 674242297 428499301 368737511 420249058 324688927 638993028 570642565 672161853 456068156 373451927 731428231 323432456 759969003 380412697 419524671 986436002 579464742 667008683 781148898 253678384 660003118 659069249 823567685 833655126 329708573 843542858 271758061 957490000 634142768 912297216 128351771 613636616 645500860 158646887 151333475 416471043 115370431 607599294 708996408 349140671 512241959 380639436 869586354 740061389 983579660 616815504 400817277 991706476 978332037 854729733 668262072 421430252 820470970 852784256 428386644 661437522 389986996 499719678 658549892 677046600 635301425 869952307 282564155 836108699 748773068 267262199 520675137 994850310 237597239 235802107 365691923 915888334 667345189 742960980 866847825 417257904 578314159 924531214 597115585 319481053 390119191 971558475 824197583 801070040 149118306 255676624 333118350 184005237 274709894 780492073 210267653 383601288 400817917 170727054 966021745 819405674 389973995 265181656 226453372 461743486 181400074 576829132 838232214 385076499 671013387 308604923 820569650 342897366 252479527 212424574 679602809 548368130 937421546 631950804 652751084 673191901 403165164 732470645 427904950 410595164 592575480 281149068 233444544 177156574 332494818 481133607 307972844 857320330 761175990 247823703 643260525 752249482 672724577 652605605 425341296 470636920 702798006 928043123 967288942 958641735 844150843 885504512 358425498 947771440 648715256 754689217 392903766 627081370 726348793 276258645 953256559 873355688 485433774 378279807 994001014 713215565 136423180 857285290 888852884 142484005 730851829 205954262 229583565 539800683 364662620 209618917 248961936 647734404 720920804 507151038 443360187 933945060 340762151 324420376 364145007 571560102 777384407 240809716 883032509 901440770 864327674 995499770 565598966 331201725 536065823 666383227 320256766 264035115 452302195 498039479 666316763 847428419 126161071 406203031 961104490 573447787 951344530 253602196 381932103 348624887 797329673 677579202 344264988 651003013 659691164 986488606 236652264 604417974 950692500 365775648 160850780 847299207 187925644 670049684 449892127 921216869 849471855 728324324 605269430 996798154 581808184 315590835 791430240 632642303 927400208 608762995 338917497 972325443 379650632 494884578 120381946 315694323 308338721 577791394 332821898 849764695 559264657 123593910 646055185 710246757 341137490 889224874 773738893 369186864 832496910 625339427 942538509 516011488 746278610 258325603 664103287 992227477 857072861 472789823 432800915 710534262 999136195 919190380 828588335 367243551 396852535 525337308 464115025 998841280 649104375 959113961 814420016 580308225 723649646 169220875 839053576 823782292 316249009 409913801 459379792 653919101 761503897 457482627 650236851 852239526 499459351 438281779 747059084 458812757 590008875 191619922 407042014 818233015 247426797 370148966 673853076 633136393 678248529 907915324 725059969 856941560 937085391 232271259 239093047 869884744 337804097 172655827 337318031 958763423 780850216 323513443 376946383 292742982 374161480 223655543 863551331 174814695 326216661 475821920 475986202 408784990 513246859 680899631 732794862 200156557 285080018 308788399 158939647 232932116 172804016 484625337 339848807 752198940 488535481 414899213 906123428 530027058 142898082 716286749 887694992 303378454 190800324 530679685 918759298 392368221 796079748 477718594 906410460 255711256 106472988 352760947 535003951 209950145 303471696 420322362 192968300 559479013 491252117 596341156 642746843 375614298 559880101 454799441 167377491 150784063 786285479 621895227 588624898 892948497 229117134 252460174 546690068 905925491 349890029 913078819 575600109 245063116 346197660 129951255 890763654 580442740 423977458 149588187 614224133 130641634 645244917 818382127 574389271 944629437 112662242 918009366 253362956 702730789 336382866 816013954 244400411 678403410 897323353 698559852 262207105 930241504 187153760 552179912 994995246 155986488 524032919 144112830 510385626 513418884 613153414 263268987 268358317 341250281 457632022 673339142 261690560 940777983 781505368 164637798 438627755 425473320 140666255 879807261 314933893 509225462 755594701 974936972 201741850 422939042 680910098 918733930 114011165 700921298 286361563 978440084 179332858 341371250 165602635 891732504 764945339 431467572 508223043 553899017 259883466 631368573 616462502 371669214 394150855 201006609 248298415 240343559 143373247 962058244 429947173 140956521 838252156 366800037 198122383 851815689 407447399 572918592 855760614 583814360 420221448 479086820 630453736 866322658 884343437 899821452 605592096 562113471 397641018 833538210 694018723 718896587 807096220 202159517 628567047 652561433 661815902 888198813 741100979 901735142 131910635 948221442 258113184 559952741 310018320 293171555 330831803 857574887 920602062 832598116 498820402 983284599 359407608 204242581 568607953 507498977 807003625 509703702 653136511 753245295 435887440 639550367 703301471 957023635 861631686 537973568 118349704 549929818 766442545 773325572 885328079 258086343 646709449 265963564 595164070 606381046 424140578 365341353 214604409 832430155 448853554 692529688 201654797 714310153 497347284 755079716 774848512 848978225 192836163 582002673 969021670 984612463 947897878 113340321 977018641 358658389 716272392 612557155 336933103 555393369 710268683 493072632 803760934 882536490 157260048 310504802 813865200 704327538 595056688 576885765 368753524 654008350 412645233 505961976 140132481 717033480 921324681 843612311 771871665 973401965 279305838 140544468 974169306 488013280 476177049 268058014 155198560 988138287 625478947 751847756 169660332 682676880 403581655 849848001 354479576 467261604 973734931 165138880 778618551 348025062 941738294 133749284 570993567 481342930 335690165 738451278 623027486 754634044 391204209 210291845 607772733 945742015 119685853 315569156 780882865 739618549 706988431 336138036 961484958 402631912 751785028 840780471 345551068 524575900 193871903 153128712 233591965 784279555 592578074 458486284 826743522 368150003 393602478 468519078 266424514 832448763 617789570 846540286 559424513 964170229 205549337 905323595 349226296 183978463 812081881 880139653 964901355 550341565 439048727 391795553 164184756 588262321 830142523 103558900 414535140 936008483 823101705 378380934 869728959 463928029 926090094 854096981 734085765 376561235 786959186 371097710 903178979 647622566 410136703 258490595 466610378 784688298 480614291 531076294 757487075 563535021 720920757 936725319 351278667 265322863 719345610 428308192 170141679 133712036 158507828 674783866 540707467 221148967 915671943 730538418 364003240 211855213 700345518 861583544 296325435 125186528 409704547 886676975 398767313 817416862 355184533 235386167 101424646 608790534 340423892 149764638 435350523 429044428 183565502 180353786 897705412 159781818 479258259 410358825 169061900 228362890 757880522 662248483 995385981 896753163 628756775 967621583 121734097 755300658 530898058 323469356 685246838 204641395 112417534 924001586 438494876 618875516 967808060 527528018 612342386 230947094 884973608 691356232 384225432 288690959 894197373 207703066 274951259 874932906 489303377 984689677 568519672 340108009 170300045 228958017 864738456 642860602 987188803 749844074 973755418 907004350 197812527 464305211 850626400 807421974 628715466 374200085 763938828 170572596 651488343 584761699 531666198 119222424 434566114 418614725 990253129 837997476 292955068 142269902 995508586 322323327 814759819 403728757 488260663 216623000 140217774 609804860 278518284 537026547 141104635 535790111 666676238 366121148 145807418 668277823 953993806 767611266 952224768 234972382 651162494 911864097 936081803 793844222 965215618 357351835 768918164 359444074 880554354 592572863 190527350 234499526 409581835 942634627 660975933 583539203 134743020 218232962 657760646 257910529 411832874 637598179 435809115 943864659 965637297 284507533 996516641 138741248 908126609 972819716 169280090 285229346 907777684 776954564 505649057 309728099 905475706 359905570 928857798 141286540 385010642 124619525 193346935 604429816 700780397 627872959 405033209 246850308 447014980 876921148 302972906 615557375 161551487 475307240 551468744 787629375 195248068 269914239 823396488 333562877 813565885 253214966 206901375 192979663 256917997 531132633 155152500 185141043 849903309 926387022 665945518 690516172 342012562 976375716 473926378 374771830 555320407 388279897 460081385 278629178 462670414 698550831 759986559 183039096 646970567 695835676 253670799 150072714 911044002 315043190 914009693 810759281 145306583 264369244 626334364 658248654 770732662 982821137 212149365 594182270 585458788 459850118 915831981 769214494 247520652 986108721 748379907 578674400 177920510 383063592 354197829 704035955 542869366 434317074 651547087 968635889 460609142 368884079 364138743 339426116 995057115 391500434 209631376 767672356 896723573 878944149 591507905 844926114 841262560 634085037 624888108 334737804 697573097 352019516 818032318 974491930 491458809 545371669 142829666 673776893 133839282 362872270 251384495 156017108 533987130 251946616 166003842 801656275 973081142 600092186 705432897 944505830 946578336 876098574 966806866 447446574 747333709 941719464 115755558 960538103 338648719 179961096 207585625 851627898 301974741 924416505 896694224 285400960 106326325 150985984 863616651 466274495 795416127 521105122 515678583 655162017 943410764 861406366 618201869 111505435 244454850 935424018 722441833 147889746 251461501 759558419 865558834 552692174 952365668 756971467 253857048 111356982 105691989 488058994 637862827 489144130 153307454 489041887 480300217 123475787 349334556 853335843 295527212 750583405 630228799 903811863 712744884 118006830 743827513 220606018 786510268 211633853 423643624 534406094 553072320 597083587 655409880 944893356 657326889 779027320 551609407 800064108 997983899 854255139 663733590 436950104 716770575 363321363 642354937 652648911 599157869 991858261 561533262 838618939 109887984 247301685 738295127 433839224 577117798 439645560 883147232 947909788 579572467 408075666 236879992 573686850 873801190 206906081 304563814 543291071 791825654 466347935 726511546 446712996 910927765 197935119 566504221 967151759 577815196 516054232 845468586 887563624 939604794 918461219 911165503 800403127 247344867 357246353 439127464 896769532 467673575 894623549 449632197 615872238 356612437 787227461 583276223 477258663 587741601 891496555 609170727 627607805 134716039 933572419 342674409 311740972 430809437 900526634 131617056 508248043 684967908 317637402 183010466 208793404 845705863 979547407 358552926 536947879 382941755 637020873 167048721 323503480 108883055 305176673 957759050 867957006 417491769 508185426 598861119 968066169 989599506 897722084 180243113 856490102 701873721 733741630 624804043 555412125 857111442 609598458 168804411 580650042 444068006 130121766 377643900 728923477 772355128 796395877 181697512 289111357 984839054 632095687 946978847 142549133 722223446 597656156 105660879 644469733 444349288 962184640 408326097 627321466 379352350 342567189 367239285 668956459 562311683 732954919 467012154 552078833 901130306 851169915 258705965 407269109 801935360 592478376 133732993 616297156 363289388 998793173 808969757 255048192 170152710 269851517 732013378 523446104 439989317 692378504 778365484 638435389 635749950 637018153 639461138 508128963 891527692 457808971 278897001 911650432 932114965 771328544 627967026 655428391 292489397 873652423 643875626 257440140 105068834 901330954 526278371 638644389 361173929 480235504 507103767 368827115 691491301 375184088 967243146 734436659 821157361 898832092 213024675 612568856 415473175 602088713 610955548 656395644 196438792 564636613 288717101 138427551 394839021 519423180 990796306 145375200 697870416 605839000 996401256 300857361 405792335 490360889 749671564 489064901 476753232 497851454 759628721 409369792 528472913 319356118 140053266 332486325 853552584 717593368 533174519 126158557 829808769 510811327 687921298 234593381 646562215 910916124 337944506 175215078 179520609 720174572 367477614 302269744 225946837 158583292 939834030 308159451 306159885 778465813 947718135 532411251 448061240 291172628 214153401 913471695 129793580 323258427 803653745 384423988 782909829 143598001 930964130 757419153 924946447 196079804 259977780 637187617 990970187 268318358 873625781 134347647 607065426 854283394 539059394 794501341 405404841 705297593 818010718 240066858 225741355 835169530 122479794 319627166 178649580 628176468 184858130 370091701 367791697 223638250 304171149 554684306 756127363 790565613 490624249 522964766 803561187 276975794 209595074 668656396 341811593 328873200 617464237 548028207 710521510 836402630 231335163 643367931 176358022 857642603 757316774 795262145 171516814 819540903 922411844 170562119 262671937 553526921 267205366 509312489 514265509 501972782 114970859 145852406 923208631 804785227 653597076 559550622 931672782 845372465 444435431 469433354 605045031 609507976 219801355 770220567 848892939 151434247 215905757 971897067 966788930 728549644 564879143 714652873 137061066 819614521 162096431 347599104 628871219 343103278 800097910 641575112 585797838 798746383 728869189 501853828 822733740 920462484 476130734 721037750 428980248 469412707 549772694 150112280 582597649 964049162 269182443 414793641 383598764 486394432 833148819 950410585 383138050 565747389 923502776 987410883 257312441 157183680 199112020 259048936 828533608 350339487 797688481 991252165 610988058 997755980 479313725 644669067 812517565 867746162 941327492 550795433 555141647 618572610 714698001 896056708 187174352 334257732 350545042 315949771 934549222 205868865 660707100 842591082 336445690 739920183 220409094 202907238 875937064 369860415 602990665 895171383 358142332 182884670 406854614 597477426 812629796 852831371 114365976 954638169 783698092 365682025 286469930 793037812 460949901 410577312 574401735 533003283 672334709 445629682 200527859 527210368 802724767 645096188 734179755 507232108 913536365 829764420 482883063 948165992 594338703 265092494 360005537 540809157 161604121 278312969 552581835 603527710 847778511 309647782 701957863 648639501 727925535 934069497 649195052 322210143 505257752 470490882 496466956 995616676 412422584 167671059 553315562 423308456 768137980 355953257 596582885 386567159 503886908 793945675 121760382 952111395 601039563 327835885 172773352 975830690 337455451 686642499 540804993 903018944 327535843 703829314 373705543 313897407 158761584 904268154 340186883 199270380 115492760 664490267 125905860 613672676 947391778 840343633 483504610 648021508 382144284 928754965 802740140 844074563 165051916 193662228 164320044 751622851 921793197 555543988 687074087 258294101 876390017 801853873 105692799 224282743 980800836 746329970 960334727 828800336 667977375 376797665 772628445 166572706 920406630 505496732 865971624 340279368 135194432 892077413 232543446 796282555 297977789 878151765 764913110 400101691 623542601 955739345 704805085 120235108 148239063 313135324 911234835 717479579 483114211 694808311 409412675 509835233 738753268 288963172 151795176 967992137 504412877 992608856 633414453 344482844 966398886 567922045 645326539 826792262 578754026 202270992 564041432 953903825 224701700 404088093 224617998 257226755 187924284 644039980 123696909 427259149 635310676 290868126 717059755 559561874 511219575 387782349 237885639 440289054 285784933 352798981 868363887 548425802 574366685 738732537 281958142 672758526 520895680 627802644 766279922 253789976 504343050 371255182 536329143 266491088 424748764 701284048 155616654 546774157 392334607 695017833 955711859 563351025 407381636 651520798 806409660 976566523 348606758 428473335 211342812 299926613 466491500 167704335 206387686 277470938 229794585 553676466 530643663 851356112 123076704 936458425 929693735 176519349 473108471 252148202 510472071 850074109 372976443 607850198 383782142 916569631 578559053 348417493 486190183 645376021 521547885 207294273 462907944 356249330 715881821 154441299 571217442 984311411 652904472 212806542 107108221 491180287 673005831 224910116 802645002 648860293 163293004 413331677 377461545 190373860 209749068 158425965 106153405 457742796 101879429 536102660 548248715 430160379 151992248 523914888 448562626 618393341 658326219 703423995 382941813 332938285 702179340 900442047 231411975 561931647 256488319 188984285 100026882 716392259 161861188 194289072 380181269 992514735 649241424 128608229 442927094 863895630 858232209 931831954 849600006 874353810 789638512 953275518 354604985 890248062 552822350 968916407 168411459 332502717 288389849 610152967 143569403 429188676 182209647 163317916 777910517 272948691 816705841 975155476 630642388 563631010 674135482 150856491 684367823 914635249 527644938 383613281 514319815 809735442 966756191 623581397 918673529 137423436 291437513 296134701 178683248 627017785 168177866 303002236 856253759 724348858 917900486 282759583 171925945 445406782 120261669 836772617 423598715 237759081 257583435 748063491 391095267 948121589 471727742 638645175 894854690 107760883 918706322 175956730 894512589 561846062 262395299 903358548 907419056 657069798 365118816 855099103 896490476 323948781 978974225 771107610 342739582 614547788 854517663 727541411 763906866 673586928 881391729 880945290 347788492 273119311 756118195 871238449 859450764 136569904 110667526 132756898 606792335 179231152 906667011 265656618 693450952 789358953 894974759 369990879 526543446 390364168 192784275 780789889 940702402 190973208 607638952 770966648 847374767 610048365 754632181 833924954 110513139 836536031 609159770 100622988 856420038 359298472 605455278 311929441 948994255 204609392 831314336 305323415 512863444 625265398 844513412 696469970 960469119 297560722 436153092 554211092 163003316 261622578 332816842 647195054 546895203 428691767 701012931 550484916 961014337 504313129 612637616 886946377 313125697 442698048 211205730 214365854 734029636 269344939 873955821 429716409 290153505 732428172 764156951 727951886 485062832 691021624 219300158 149196303 672412716 357594203 484138474 430157035 871144209 208938567 110459508 831054339 762367532 715904396 569212723 327019216 473874735 161827187 365147575 404842872 540396434 295531671 829575375 615343277 921804306 481982281 317221496 585754640 280520321 131193734 324596669 795423368 938499753 259424583 912665111 120369120 212074905 675237802 196896982 522340698 172200841 490856557 588864691 785538093 202786999 105125204 183602515 341312494 297185840 836131701 846141315 655740361 952063500 662706667 243772472 831119882 976860532 226378340 446878440 662309126 145915735 954980787 373801662 835171798 929101656 666556978 493693841 466696557 991996975 324536212 352677639 816798734 494283464 906915337 445678119 695948552 132395356 581917769 245503294 695801397 645083090 504731911 493935509 827818802 687662589 858694012 365145108 338748423 672807415 694260047 409651043 663934501 896547439 137610752 232894809 801789808 290628937 363422639 553068526 964725104 290265101 587486582 359160190 620012553 410659875 918316500 876662158 282115051 902802332 544863044 896607898 233786784 704308396 970031660 702023393 143344864 991068460 955471087 835631387 758304836 239620810 184333095 425500734 936937338 515239354 592236009 795337704 514525260 764198965 640300081 145533292 245564236 505332925 845029880 854313868 287435164 762642807 535893987 812990253 418417448 110682295 627664849 706241631 494319316 354884037 831848052 975270553 699644557 378725985 936395456 460129222 719510769 863857074 972887903 829093127 584551137 549643761 415605455 425992931 733934419 215896226 858936168 343447708 834069909 814227342 159376402 415572605 648761700 128893912 277214046 587263612 493541983 555972699 493112838 570187369 705365020 723889722 505068121 502885755 835940171 288529494 124385876 322341017 722317871 580855134 759366980 702177857 931765075 589579724 968620977 866574000 791591257 293039294 658725058 169536105 679639534 949979078 907636504 357562453 622084365 263481343 213080548 891893043 866559391 138729337 122237220 297918752 375920687 334054541 582026021 664217592 710000755 571360636 908254846 914765769 426038840 491949729 530036824 596027964 928432716 768207565 978324821 133881901 169871982 973611238 297110559 969845684 130696498 519018435 411441331 818768273 488386982 968215593 985476341 522230283 475904780 282822068 278003417 431206715 171703635 968048344 104416415 499347621 783907337 456645234 915457757 878604224 745986397 259804829 869429395 444415130 914926484 507170191 105259295 878758104 598713576 115116199 968485513 627468058 111605251 222420347 561234365 947294376 167716460 174898376 508702128 739633147 142750972 305625674 122008005 168582491 236737123 354580840 931153269 916887869 518556044 327967300 376830384 398073135 576630740 339998763 591816898 385322820 131005325 680160926 395055002 586277327 781518413 628447118 107741166 466142505 756445254 847787177 643990803 756132405 441726242 428172800 591247466 113394299 448966406 449125976 521987861 566468341 614783382 221901324 505976767 912246026 523368637 533992327 572173647 161266976 667381444 994532251 584473541 546380301 597016190 485606061 283397175 812990323 649273458 387206864 995692455 986486036 746390628 393148796 127596825 489894209 932602281 860361840 217525041 494697543 895122039 841823473 547559535 884597108 437978259 719952471 838132037 876526020 286850314 320266824 134526525 828106092 176390066 438162255 486822371 805734382 127445007 280762666 101870642 942925333 846919447 736078694 442424479 260634285 672954133 920861908 674950754 792899660 432163725 295275065 137544565 404666693 172690307 131418841 585892462 107623184 688176522 895902242 940882882 995488104 931781848 970786755 136084555 545831976 652844652 301510874 481745928 746838287 487581366 982319206 424811855 568223883 612284220 650923363 586859348 728936151 502908035 804395477 630720000 359608835 125733879 477303860 692838361 613327147 230161223 235071772 134316984 518559625 820887524 987680828 495889823 150662198 801863421 104496047 533560143 849529364 632658020 244071587 348366984 383268712 944775620 664438657 239852829 121503233 203162473 537433565 925568594 800829949 655423653 433006033 522622293 912049025 348405278 874025579 515097611 434643685 899076604 613173860 726888697 135836633 707592732 488244580 456522298 992695551 787913063 255259974 854827290 954736155 234757339 642132286 104135173 297690340 678983472 215167825 650581863 746454183 571565778 386225768 278491454 698833283 382916085 215883745 779581435 411465144 546517288 554622280 243135595 740783068 760595059 665727544 811826297 112628451 502320755 688336972 122651524 641739832 568013557 834237770 143555671 660720017 326504099 367278797 862291038 969327920 793589859 662398511 747536366 289116120 600518349 240472676 408507599 693445602 672621055 754253792 783407675 927582680 819926127 933849626 171923077 135818436 251367957 165031604 801382733 294967901 312681220 680287963 106356051 803438163 215436769 841631648 213281430 232197173 285857786 928197813 246034597 775324133 331534621 913599311 830545523 819151323 968967885 627732879 509663929 293357662 421204378 468407785 231144779 456493371 423816195 480347087 695917654 828106225 375803050 386186000 673720364 706701382 723002153 277889611 507917186 497929067 869058867 707349196 834303776 549904235 198616132 209223513 253300301 432206738 331780174 494973556 898750895 747208768 575860890 739604956 232506246 369086118 750710698 413619615 654553302 549207591 155538239 566842113 315459782 436564503 273580136 172351297 560666101 230012437 740549712 331086584 783802734 325157005 398645294 920228203 650902795 128748504 570179638 427310682 827587441 745295335 180316732 758617173 585015342 931826532 414670039 231781486 408360741 114466619 970729855 481564450 742922217 788075803 900611993 686524901 330878107 786733522 379209908 284558615 316735281 749765680 838070174 808245122 806838062 612006317 701632094 828365325 515154448 626915580 690594724 838007395 822707664 620321651 474838670 280589229 668729494 896346718 229666607 361440627 613447424 900556720 318406095 885212595 666858662 948668544 165307609 508357333 329480894 510020503 207779096 482516080 580897544 221587262 169364521 779023275 851942999 236147527 290443079 727253518 535170362 513243681 654903769 735444320 421287454 792256576 559027602 905676439 314903976 827753284 304442890 910185480 114118183 695243289 754730336 745976088 563869763 940143192 996659042 272491192 292481281 705257459 806345254 732255734 928501731 275121405 245579487 126531353 669921117 642248802 825425328 507782764 809639057 902697357 737427953 458656810 449116502 511794348 659310676 204753143 220348107 369526492 651035908 300102271 173886908 644309809 107204401 870017051 972567198 823730932 547619406 773871985 216114614 920569659 772632671 702288028 823802065 539471509 412000375 784835726 522797489 605258196 124575384 802913277 958689414 930675877 511767896 172645922 642497368 853644480 218417431 255223672 577099947 955360300 254358014 854683200 344133471 973191152 763478258 120645550 582670650 498425336 154811838 739804516 812705264 307523057 738624265 420949078 760615079 654620750 286735455 227058781 631995537 760987004 998752945 953905706 449469563 591241454 989031815 135541907 601752454 413009306 318143026 865808392 469857297 285339291 639987202 363354971 951729255 603297259 283369109 845503426 771490575 333464386 552532051 227174941 182559931 456872662 378743184 511713760 957861978 570507085 664673189 311845093 717227595 498485196 564261066 932933863 267344075 940520825 221535478 275358757 625999735 381778295 846654155 574838702 459887985 163962545 451448987 493931287 700909617 195276783 851411238 991878844 795019044 965985833 764871080 955026737 412379454 402310812 710543672 370646363 157586214 537487287 597630839 414100728 855463407 159225956 163588470 970954615 984489033 567407916 640680963 268048835 891097042 544978167 165820425 590490615 226652174 459221584 945647440 916053996 341971139 527734120 636547161 657573762 853505693 662602399 628957534 375416647 246703212 784931895 773799486 764960205 362758373 598477883 680459059 698524310 728361587 317414848 877263521 990036628 826405914 871452481 848213509 878579569 870045896 869787140 861044464 553501390 356019124 499536854 252294418 441186793 123543239 190470731 383836072 619038433 171657429 100434491 428966028 355214676 733616160 718198861 550976199 632877310 473277225 369703174 568420317 322106303 832812387 865278790 752383744 400585117 820036434 692098535 839827868 474665933 121826938 371339898 925692269 484714015 572550319 417011311 111880466 611553656 745361570 210497412 129953689 187997800 160007394 885569730 917834908 869845389 310188299 393118501 119576683 110904370 688895048 767338901 612894332 765819019 803931839 750359027 648119382 434019992 936215949 989604853 458719030 530240503 492775990 887369955 258595379 112115983 592038373 873360594 564673559 512968149 273686650 883680550 644124717 970231146 510939032 148090707 941558666 632006297 537667395 422251395 352410514 565091248 490163658 867303699 314434357 740147753 334145426 983585973 266997434 806351031 508318273 586726507 588266087 596923414 367436012 218501669 732934212 190942045 739517756 924500006 472389311 849876283 584083906 159245535 199054547 628433757 966290315 238502333 598135478 284960268 410978932 382117010 847153595 678771489 308408968 314526452 421242802 316054555 476400786 639065028 738011846 539588056 718900405 466734339 140462510 243170263 856414425 622996012 209287244 874427970 621108810 778294957 621462125 778289231 256639408 748537673 240156614 939794016 445198085 361441873 848241392 435560388 152831432 878913870 824239881 538077555 815639362 108250689 958965330 494077858 332229399 336162150 426950996 471059376 562538647 726641815 373736135 779998805 746032510 748556558 865355749 916913808 267640913 833912342 319202459 487438284 709400732 918111109 138254624 642931212 621318805 913570515 774626758 912662809 377849969 687793301 523847063 178970784 289415489 732258497 409063076 791858590 267779234 236911989 958666490 143001692 960391396 786913930 157418450 534262746 753608795 137866902 669854374 910471764 505770262 963631459 660636455 799379965 775839537 845363506 513443470 245172977 156531331 419284262 620708473 336959962 425463265 412443834 399581314 999921009 534578912 851442892 950950363 258606244 944515785 718863765 576624658 857244980 806734580 327595092 282154182 861935336 469797557 765878257 836673191 743441311 442590930 740927416 223039180 107213335 902991413 606941670 188240346 389973340 338622232 636031563 998714112 757683182 305009432 844423721 315014076 163570078 467526492 757479263 689590932 808745102 934052157 746876969 522536009 558666616 620754259 305805251 560048451 958612980 923111898 894947713 404150379 129646677 535649597 635101978 125884827 487128218 854054571 671606037 990865950 516518089 569622119 458203934 507417105 348802021 425968042 999582641 664154367 691558842 463828825 975912049 599636508 601877567 558189293 204879846 211830573 419623622 844611707 142266923 900950452 679034091 826191886 287311697 458688622 936386298 825228662 492071750 381942304 846660481 656230025 588286891 574269692 618279972 145753488 875579822 578264340 505016312 530999605 275016539 886215045 277081809 618166805 381557872 354126103 707452366 741352704 798310241 717871168 542434562 540979280 764691101 843622587 759926315 904649782 803240428 614754029 400830370 243519576 909594420 333164951 535215737 870746361 676194343 758192670 940131216 403127700 698925448 103526163 689529749 675024820 647882689 618182729 130866940 858200993 623068028 380269388 827367240 261047505 942436430 965702851 182593553 932991193 551764417 471182757 853520440 420829665 661183425 502814673 425813209 641047524 266904126 870010499 149308445 568141645 873715944 478039732 517593611 455430295 397482113 848397575 658713684 888909205 620387749 908480997 980533550 384726754 320478966 750960807 652849918 611563129 516749077 152697700 917503106 571511071 676086162 222492052 908135104 513166965 366192277 435067116 911777814 526489898 994932430 164254290 322505874 875502333 937865839 690510931 634792432 568711162 543217981 319759304 500164689 126345241 515471475 276152399 611566813 715013641 149064230 618808101 718082788 783898381 425364008 929861170 292196646 212312537 263702463 145957359 165636017 476510440 141349804 624297429 651742500 809401668 489266163 737156432 874481692 802897995 980362460 504997779 647782666 643261166 318047065 577929603 976396117 471728312 661330220 368236650 172057777 889211469 937710660 635187650 369526965 709307880 153370382 471324052 246983966 656182374 322671411 167902863 338190518 678219526 394974594 851608568 764448027 138831292 169854092 109274501 115331816 666559745 478345647 578799879 646809410 784095843 131714915 545759048 915600439 839366793 567696038 511264909 145874982 113761759 332190597 583169926 492005744 697341433 298938577 530135895 980550068 131582707 675432848 965777256 342857115 466404378 258185934 421712917 557925415 878243197 978517236 858215879 179080988 277708321 694153657 445766671 988873798 288690458 427116242 204835315 906116780 815483877 786399204 604692653 584147396 570458843 680718163 230978072 257448933 198795070 523809930 749919990 317235532 708764904 121598874 219049427 884198479 631766488 389814492 326730019 397522635 464291949 440556891 742838017 163299644 564629448 315510306 440607241 242617069 782162685 878776003 932119216 161580827 923678607 798438966 193251028 941627683 699773569 979845144 512208590 493238829 223968990 458339716 155169517 689440480 762228856 462436924 230886031 993554292 889849455 648791940 209687803 657827621 381717303 376636845 284684420 330413383 765708903 941176084 176756092 401105069 156581928 447014217 253133277 439076007 732048143 910223915 322872570 867841418 659936719 537508745 525132675 224818782 925400027 355817039 735083968 952998460 358570273 467966745 600757404 131757639 575830372 941279526 108117423 622093765 149659605 935298212 876637899 771380317 377873978 281599856 523387726 709613340 854200904 317514443 220438842 148851530 139982180 201860974 922282249 702739787 624634615 176664960 775587601 383851938 178136117 418464375 803120648 868055883 763031786 857728488 527087355 454773966 263623581 526429929 740063004 640021364 929505607 630830913 933334559 954672599 466727524 731051247 748779684 547865963 954437026 123291492 630016299 144932354 619787953 928500531 689568330 779915071 344747554 456872100 593753868 312945824 439960254 427696983 955318159 653505026 823520084 236381384 626400656 353647276 123819077 494160979 241818044 150767269 993351226 447870458 259205999 700745430 343983105 196512372 834933771 891470228 322224416 324593635 252446949 570515077 415074590 861968699 721068651 397017744 868177106 620940340 307691728 859816028 438277046 202319545 450427629 733460225 309354130 998909145 563890886 480980486 228037534 762331990 547799388 469021229 666350086 252105027 426335034 484997968 263703478 691520441 151961077 605423442 725218990 363444250 364041967 304386581 776996006 564194394 964569254 375578939 836464104 315789020 102757695 484288979 405145700 494659696 998781850 375767028 787871899 577109779 737266903 747067146 996453895 693299246 706151943 989885546 718859926 692217226 989793113 741236035 647407805 590671929 451746645 954394792 312041934 204762261 271412163 247407333 850569000 171203608 366464763 369787852 899932634 166161099 182697956 308373806 116871349 878611506 876929229 601248582 184135152 125773228 560823755 378192061 581195837 812048901 417535257 526004746 716478871 964847902 994966068 787895207 267113368 197099078 576460380 365210177 958855318 354849098 795678549 844869543 224157531 255932682 506306086 385226819 423270383 936567846 653125366 947602936 354229012 177212445 102607361 423040506 431546910 412985665 691928500 587527416 464643344 393659278 193367589 523336381 723459817 825777585 628569384 761771828 216939720 250055675 621199738 545298124 308923302 356389031 490906327 902871941 575833925 881300092 681567430 119845818 190158310 777561551 248486965 135214169 111454404 873849568 354759093 198000306 275747541 650498431 379413265 149357242 303668564 643827125 937251840 897554458 688047721 848754537 705017389 519808802 320587706 131552151 773899456 927321984 914504437 221308027 627489731 629284252 713523965 695970491 600729776 748948487 173272640 113193173 341153406 305719737 336265003 322460153 195801317 622327265 856254207 725496569 802504175 845159399 541930440 843690552 755170726 670300476 338483594 185900207 251941249 312738868 452589094 234405924 329925338 761636573 127565679 992025019 740056030 952400163 404790071 904049156 294414003 399915690 499279604 455087948 744702832 493575426 411785953 947093082 521487894 453501835 952619472 302672870 523421382 800600231 530807762 509875062 505092443 335056883 500915731 436153808 953541974 348886913 925959537 720029313 361454001 865226844 952189007 858010076 387965022 425470274 726969753 472113995 377442381 740223387 339793987 132641864 961792068 682623734 894991745 838967574 160293094 525210641 573381650 521870510 838751104 249469189 604508610 569862140 811095484 239141380 516360259 471274534 884157306 290321770 454158770 490409522 739377572 269973222 654590543 215932612 520688846 500088122 607473094 738445434 506091795 810801469 743899437 760500862 913429770 256714112 390046601 897820761 430684909 334882633 803802811 590119106 279340884 628034147 222713630 753057254 729973779 686810180 354305891 532903001 787292577 902663471 852361791 760168954 110093816 949081754 908216266 476082081 711147080 679847662 248308774 177042239 194035137 220187397 476679574 185057985 202671977 804156509 851966081 238305612 918376810 818280362 643289474 864528631 549605355 112609900 910007627 186738176 970421663 567749261 275417749 936908106 806433087 878399434 694314293 168080634 970492445 693267498 967706453 121413106 537010406 827478352 490442027 201369802 230059099 366993906 764558233 804637351 526142112 428429342 556404666 342606479 312267666 727320117 935654805 222992080 821285731 445312306 631895067 854925884 778289947 146980854 847896635 569245897 861796761 826603990 764002994 962369917 896696343 398824372 470176909 637927174 899286985 296470438 306921851 408694017 209131118 991522772 585404851 948188405 909010175 667004940 133962503 971842295 884448020 474018056 516255333 538970191 965345169 599168010 814028779 568343604 404518585 332890131 589226285 350771013 321857095 778025098 508304081 598988507 274856568 986824726 747588347 174543485 358259677 367203737 432314785 275244050 808652940 109024163 555338930 833076536 376977306 703537412 738770435 233430848 760642733 267699272 804269664 250991547 799985002 292600605 753903308 529146152 860600759 171438168 868160760 524609519 787783548 405449005 291308569 742463198 694215730 735757332 409376682 201398701 264515523 606114148 356281007 736224073 824909676 514015195 686638327 489421114 443959759 474765934 569278002 875016174 223801413 166254823 954042183 949503569 533054405 807621966 477690259 164824294 936537850 521122703 432576125 934865909 890576915 569076075 306260183 631219119 190722910 153853193 376155806 600263462 278582282 935948327 860319013 749954044 733077550 515916949 516429402 533909440 511614687 995799902 312024338 977445259 593880243 897426952 313335364 215727475 501104271 522592506 724013598 664217729 548893142 386726532 392430070 896242798 694914329 895044383 422192978 150088947 803665536 885312800 303856730 286886926 940318219 348810094 537330980 312007349 476799184 242170472 782447952 320024568 734138758 371328688 543775236 811088790 539219636 876039708 562230377 596443006 531201489 485422914 112052963 542064592 383560931 180382700 132864867 900566493 197010865 413395144 694666667 120871768 308769982 897802127 987162057 784314316 830434329 962796890 545843259 760438974 240911784 318818783 678794261 379285314 757329387 886404071 845923507 146670505 681839007 939556569 448494036 898374727 145480086 713760469 429525953 950577131 107011878 815687975 385200214 195369031 830842225 806427505 949212595 332202928 172555255 749521286 730940346 532034693 289108149 120773773 729122849 269343410 997307442 297306506 818175297 257201679 799307198 276939423 553821794 213866129 628219028 520742924 112960675 988489695 265594859 210076466 541125166 135128351 742012888 129708917 200877588 511370314 956667157 528434484 928922043 771577121 735832746 147984169 221483483 859325930 261958968 448911234 719420193 339056771 829512933 392422528 631474243 975371929 803472823 958098793 664248859 529608535 295176129 374360827 553515965 349602000 379665875 913382181 254468294 763204010 621888640 246450215 596086986 238682463 285479616 373362873 628291347 494000013 473818848 840770749 608455362 751386306 930727899 490338764 160217009 347729513 553037076 773421777 245817056 243477027 831672466 752156737 405322122 302806785 123168944 434284466 239687128 345092066 700988830 159682724 666042320 599493858 327881170 206171655 196994926 391521760 127995754 937664864 732601520 754737569 281214105 438628863 633489891 596690207 816990567 789295094 871310486 819496357 904272677 771322736 563284926 217071241 848176682 851013288 289607731 247902569 458358329 111900023 331260321 499647299 829220606 781365075 962454623 468592697 942962505 873147260 788677667 335188990 890811177 769728465 563829639 479170224 275753480 730663827 600450243 682966569 660509251 338677335 598126008 705940491 358089367 330970109 711439606 688620020 527118340 723474076 941870072 776070505 608176329 674931371 271537458 825199620 961318078 743591459 366027778 302927234 261752498 607522117 600682934 790316813 330824910 643520783 640608189 556006782 475875101 699652995 727333676 599609608 180306218 743710987 917988244 635612556 777676444 366703203 393319523 504679522 112133582 383246885 550979272 329254812 432348552 594310286 840079488 476153173 902424019 249168977 220503651 869402446 401692126 895203210 150481536 905593376 545161396 704565123 143818400 778045401 425603927 167880516 720837257 583258113 618513134 531892424 190160102 481499786 576227525 547746190 779850797 785928189 119493313 207390262 637196159 288845429 817768241 675706910 912214155 785359842 275226509 962876722 896725922 733252283 735747174 449186261 189870495 915889583 863999395 270748663 796752484 443174706 702488813 133785288 689381417 474462903 232843205 120865895 349670719 604409222 462576402 552773420 290865319 783504884 333798846 414824382 928140237 634151993 480786625 581164374 732735833 859259223 388959159 728778499 331048945 854040894 564145589 812282167 515573380 107572318 157171493 177096994 450488395 200516901 948621938 531691280 375135819 913665273 182703114 333847612 611333806 472764789 959067222 342856592 450281970 516893101 250271995 185982216 746554870 844844685 285524638 792072687 826987566 142570495 964307536 194899352 425638174 480158476 560976740 496848780 545390799 862736147 109517200 516117236 548128231 161144889 995674854 459215795 130988225 559082671 379025811 200453505 994874948 209022362 512687609 579975373 919452634 108925712 987827035 721816306 134423662 200515610 312414207 944000127 861319503 286268007 684933573 468521763 708911214 125417890 460677485 139046991 582303792 103559967 989498981 113217716 881878095 694624527 219180097 979639148 535471381 978480171 532775798 357751435 772387603 598298372 453649412 990724877 281436590 941521820 957449561 224390813 159287077 704076207 424182032 822141576 469717951 752983701 363469398 720005098 661827509 313151374 255407422 783938951 156974762 483833957 850544611 833302028 329423292 113742483 663916642 283339329 893415537 769334337 429596064 992176337 109761086 608795592 841024550 606437021 986690158 671286902 125568099 170260195 821259837 860362060 482861230 173364054 673176430 848551178 526790799 495342969 976051207 960217544 283436311 727301038 409227180 291053698 958952658 606587853 440800193 305928054 820323191 977818073 518301391 423440295 973630069 884396905 865289380 668611475 495336488 540129400 293626085 444539105 517312529 616574193 606742268 748377495 359168137 771009909 384193029 934397062 544781239 184404323 307305747 506726213 192869750 791859238 284426413 575176929 619295312 969326915 192624065 366451371 101413272 765059371 248038169 527393670 744415516 120208770 715973555 216055425 205037489 767714031 128198763 125352487 570269165 913615109 727535310 421233796 811530472 614499242 701803644 757505673 377998684 343905617 354493290 539204003 332691631 244664794 257975614 423553285 188328803 355874743 997846286 286030738 988166566 145451112 418775680 220164085 140634282 948597947 981321560 804375188 368439269 186295296 680272313 983418921 676798293 817138067 196262087 285704691 742759367 982964620 625319028 120171035 622363463 575367920 259169405 883089350 880058289 852749857 242210863 818774232 954276134 794842478 888222205 429774117 816958294 535854157 721769786 837768414 507159348 568196695 395017081 471756066 977304892 605516168 869064219 763977016 635511060 108219189 397303189 577826752 920164926 937885362 746603514 287929356 561032083 712034406 820340349 465056713 527510811 404055947 586459747 205915069 653492004 727155905 959047412 680595144 314436245 198338118 411697185 798008678 459876432 835746122 694216606 222884620 789801406 791861081 932103033 731859550 424608986 106044746 966425225 638525245 678348360 687236555 703446992 875135394 791331938 865805482 151298408 757462691 806339547 618100001 660252851 557973111 855504495 356463985 323984879 255761262 125660732 505168835 312368073 752833026 502216624 997120187 922617088 672958615 191960058 384816311 696530442 304192581 738988966 657491022 660989864 261673293 509847528 945483990 745477525 203294084 779290142 508397334 988560740 763932413 300960801 955634857 182475531 567269659 803740468 947793295 525397989 112703098 589692170 373303089 494395783 565385906 208513789 738427653 392211783 917561282 212514615 826047288 255239034 219678476 922495382 608826071 287254465 945379917 105158883 400388199 937034698 587462636 816038268 347647583 133257185 467635803 434674711 176610526 335224549 248494819 718043058 214011238 855051785 422923237 189064425 304239977 516587291 317002602 182001430 494150743 759991822 156989322 321968216 476761523 794359891 912382418 429462414 319350062 882924718 559354299 603049282 255623080 677438445 681340758 715778821 576199387 147249181 344038377 235194746 829354454 753801236 157551222 546565558 718786961 555483649 595658241 455541220 895253438 756317637 184608802 273471110 914170942 632817714 961820701 687343968 626306206 893460824 165468418 401157470 735752057 118565491 832248519 447676908 548355910 935682674 733449071 343850454 561325832 228643468 430510884 737881392 724357141 223092319 602009226 977251259 963403968 821399441 424246197 727376707 178794727 906352282 623754160 603591459 328093174 794797412 443362744 146060824 770372523 880575199 637313763 993197600 778308621 344475636 229159290 750071571 292592197 108964912 123356481 249995469 723837721 868752391 313090842 948517141 970747634 783863778 727376698 276907405 359075887 633518623 683422637 519493506 506283221 956374334 350218839 224582785 399451671 285791713 469995920 233519785 921594103 623060993 128863248 207801609 634168875 817611764 215663881 927879304 807646845 169446200 497278858 352233716 349662813 883793134 361966289 587627563 567554961 680715934 753920324 707368340 708376983 824015202 885404102 999572068 169656236 212692269 881959681 322377818 772280998 853705959 681813248 815193577 312089160 657017175 469786737 256884332 469542378 404748065 312436505 445132441 240532442 641808502 286453769 691463485 879545267 709077835 765532540 765699404 234702022 603256867 933088536 233547483 649263023 643214131 909757992 482388680 784710949 869674303 221919310 875219832 850036572 988704635 545745840 167239590 580474786 270455031 746297950 158254056 432323367 701612867 288000592 750370201 430485113 311232827 948974424 628854143 606729311 189625424 748499624 608097052 506267870 647953079 843622265 891928417 288031436 904175185 993135710 663642311 566633602 762406873 368950320 644178575 339510666 599186707 725212719 316753627 656179610 798588655 851257340 830105607 589791573 973655095 635055407 667284222 832178530 193546258 535459635 291584170 346078960 979035043 941904237 682985406 632765251 246959297 152661166 434671547 697222083 223023257 940214230 764969097 424133067 571079788 369602407 175939712 603763656 177022210 906951456 143339388 730911080 774809166 546493611 254643832 947160320 234093432 310146711 646357895 225893541 938616250 726581290 819834645 300362875 762195494 953545113 755716364 230211574 779193161 900586406 513929551 199353384 668116062 351412712 198513830 300844171 453863277 760445362 621615649 251783296 251395893 403241930 421263585 810493679 546178091 251688365 721423883 706233897 960999141 369183337 133380208 636525209 991158468 816210124 222565264 727095885 845295807 993903157 190385584 635909515 817716464 411350903 469868007 502429742 849697929 862074114 588260801 757117639 388899775 990009349 622857450 320885986 669590818 725233905 525708735 725395308 114264115 754746514 398385084 381201146 140941984 211513808 401779966 655020405 344108781 253626494 820677685 409407668 470747461 572466597 746858333 600911002 702504398 118032676 839318661 464273063 299613164 858215017 751227932 517182361 539754913 775479799 153551016 143867522 729875458 538673840 180687212 675254615 872768144 982828278 701457824 856943431 334820742 532819234 592423287 896067126 284781869 895167856 458977059 257808456 911501421 275979053 208315512 461344842 571526115 530902573 679854742 119544153 785020330 733559881 415344305 171515071 171796870 900954041 776458989 493420896 608407395 286456501 752573604 491735308 607272650 849949419 573007821 100144910 441290571 951714124 621133676 907188484 273756152 397691835 602838441 991150572 818544298 187273205 679005739 936262817 221070865 785486126 293991250 955664192 909438985 847077076 331666279 303422880 958357922 121054585 429485068 442352972 129350226 307121956 867373616 469058423 790981065 957860086 688672825 976889954 646769157 144886126 763057668 295786877 629015875 637649775 319900010 461978278 560859168 913119717 809513183 658633573 860889036 794707434 257467255 659617548 728365332 584319603 510429622 903856058 259130312 600273160 399791728 608728518 742930081 503150450 798397995 135818994 586467968 794044193 713298366 643293177 529098316 655045910 887726127 800254504 614175229 385145205 715511248 208495625 240824121 973214054 843356833 950402865 177272805 921011497 960921988 541168495 384821686 249840688 699992888 148766544 847661206 995627425 925512061 971518745 466082498 178487177 879324450 576179132 462652375 216674417 430659798 568478965 520370076 374914088 617053791 318596916 816008329 127690691 542344225 374434700 597741555 159424217 576284739 723219130 693956131 922649665 693985834 753674756 329278592 773524110 720135042 320056509 445934068 895278779 644354549 110363217 894634848 584705466 849232220 514881462 518679623 288666263 779993462 887981697 738506344 147383877 988695460 579892945 747422062 364369713 631158463 144345954 212722417 990274835 144436997 163531719 222375460 923523774 736557276 638637604 565619113 918824153 836692355 860151002 450284231 595330644 914243185 908775305 260253890 635646200 733466896 396977978 428435876 973524197 413259945 525622203 645401676 606169868 454379272 328350102 895892886 202905442 689997411 925161010 899871894 101216866 698710684 852721074 660652694 910624415 388260325 791881853 405563677 172473278 137594874 901809367 150155919 174124115 786359554 174122650 992927845 645893271 751068343 647231045 633784871 270121950 395620559 439874429 899082667 497626038 565671920 698272689 498521606 835593145 324062161 681832383 816555757 563057018 609223524 456880260 765888090 311984259 725218737 612312937 530181384 579509648 334568226 925829251 533814912 700435067 521575971 645515925 214068137 236827482 109630577 473902722 621656360 562428550 698755292 281042914 566861126 167514632 638662354 469822308 290120781 802619895 213574528 711485902 972815527 829964920 321826188 355431174 613984619 472460966 756256376 970851426 142313998 505344070 375601601 766420703 664466224 879474902 320758720 834745870 794684989 399162474 388669216 592477923 707943670 442321843 550940133 272132183 627892607 192163361 609880146 508308117 646870687 705603624 828645499 838449362 296689845 773826394 797068684 158824139 374695390 339378243 540135996 368152442 525055399 383706942 273813948 432855497 222819742 640507930 494005448 677887028 647663436 152878529 670536041 851962250 145237291 456560015 211758718 755133083 635176769 554343135 993945637 852898108 305690370 112798524 954056699 997267798 521497953 439184702 800838546 266247295 380687699 964719480 213841544 184412926 913480687 108085739 693932697 321076497 746354929 547650597 693226599 158858469 430229727 305452022 862568215 752369887 124575077 598573130 728791756 157619768 567716766 101966487 532177398 936127926 843571467 699377031 700199201 481988869 133784742 574140492 533611215 975538971 881356550 702790457 354385087 377901108 855880142 611492218 229208845 620975088 195946933 520761590 233710748 308699590 868701784 293237773 127177121 194283628 468803942 153156461 490196986 555237237 754912959 994118462 432012903 260268543 824490479 985907959 171669478 123419192 192701844 737244151 509498283 457197753 626161102 644510581 789712794 865785740 524270110 587369920 631333327 378776522 462180531 757509049 529837386 805070354 821420164 223397825 618746309 649845823 966903998 874266972 206257376 276703252 956263533 705076846 373730303 622970853 291086204 150021625 887924220 169332213 600838036 239564238 700568565 951474932 536290839 295393657 787576769 168309356 260079940 947229700 110237451 431858574 797052044 791867315 510406980 733543615 674881661 664507813 532371265 154957760 233224353 155329080 656479479 781044601 261320901 373895866 165416111 324278481 102709158 812183223 425887020 768758096 815912594 614072686 935677776 948243001 318647161 183051563 422626555 710197233 695554005 278410198 775177753 313776242 155207465 821566245 508233658 486755963 908948454 759392550 641483593 539560058 304200611 884145791 592475019 830401912 203895051 938972074 652342009 438015655 857744144 766663044 304171676 853770984 534326143 671608795 581642584 536792871 252957077 612289666 539391186 856344615 218366926 584614401 466356703 213041390 461699073 948036528 898360626 504743484 968544406 409973463 919426392 379121479 985247057 163182141 197125523 215736273 402720505 398896017 947971544 606356918 765686072 656518202 157464518 555499671 546668488 726073126 421490565 877915149 296891937 660266890 844883639 618607786 178753190 119709122 368942655 235607585 922955238 992591016 836876866 762824629 593662679 869147615 836090529 452083716 478019804 778094567 309872934 302092824 358183857 762941977 346790252 878740548 652086223 858065925 580835438 528931052 187143568 121774637 862000350 373101947 516197312 142382784 491364314 312071031 205275182 425130212 787230423 829900679 843007391 503796103 659973952 593384528 249498314 432946038 882145049 167289734 611861460 782336489 501808086 487634964 588783756 895618954 828524797 520710673 316633001 251137339 321972861 346511761 768597056 100787603 768558560 882371441 899849714 736530776 402694555 646667511 587892329 534965691 597442990 948101084 982131896 173303664 697948607 447768595 222806280 380561149 844716884 755931281 941594255 449763828 848633384 969110851 751819423 651613392 841602560 523360675 962158674 803622824 829701764 429885690 521050166 332299599 134295023 767480401 906110324 881559171 731110860 832293418 377428448 244006098 539744732 315365670 214164410 303686988 674286950 793629534 794296566 946723646 233998943 737758996 764592810 991814536 949942595 201613837 864403109 711477298 334435687 990143111 511632732 701015228 283448452 914779278 340245989 234978817 958377355 527601399 592430437 858885059 829698500 842610281 422997109 930680275 826851820 475285686 324300365 143200999 206847119 389640868 777532099 894204364 846486727 868838612 528670115 814420575 359167333 886934322 886541966 571625991 333875401 246662512 803419570 233610252 632895722 275051289 454577688 970267366 634927598 924682699 683537388 167271665 851805089 663075811 777604760 113837729 489925329 779965713 861726011 516864704 355790706 470024020 985564895 449060855 389308221 500350675 110789995 949083020 666003882 884096163 849461408 374921453 940064530 665091956 207168774 590094477 651408621 451900263 628967194 884951484 140556508 250147431 393652256 842847199 995596139 183839402 540958198 419875739 243367170 359918903 378883129 829822594 646098771 548731860 370659692 595647765 829088621 525997341 955598226 229188645 767070234 455069178 104660576 816217101 604066092 811949339 349995292 150504679 693165419 178640510 527586419 986180728 945035047 192892846 674372908 347078965 712807814 870281490 909358501 660855104 878008429 726212205 656281512 782503252 679448593 526484299 500169807 564091853 297252454 385791702 234308934 169932206 180153181 616016123 839792605 625269069 908820255 475967267 619649281 532520633 495807396 177435123 468888763 225923880 808544667 489688800 959023375 370491531 714520716 906685026 929676977 610113274 396812105 481349493 292440156 516996937 330740417 901885911 381512035 331160808 224615904 496365603 720088705 812435927 701623969 162425455 718380896 124985753 422335618 972154346 745329834 493763611 282137949 594863629 570477685 912042825 613205894 992827612 879514924 781482239 981814000 843889494 977965451 381582668 290685137 404040488 625246428 462482499 572794135 106756412 894704349 530246787 332317045 794294409 707407536 629661053 836232400 308014713 971738399 165491909 901531517 282008671 499652273 888127172 839510204 754463682 511925436 268687969 256121621 129385400 905213840 869951633 870812922 592940070 286267825 143010437 407830712 779111650 280056195 329653864 948438727 839379977 413034332 191770660 310976304 738109924 622302505 545713190 699888925 913316591 324312001 847498634 365909539 521901273 868670225 361518425 840930718 786539774 170302446 667951856 466533792 584795801 812229916 605879628 346228306 278223233 858460170 809172359 332691638 906612911 964265434 196480671 145984914 468813732 612334686 285263171 657369969 243139137 792504712 254950629 469140692 879592713 458060572 400935607 385571475 997284667 813132352 560139922 397659527 481807996 797367949 949554021 924855973 879963944 941212520 707670577 588682292 738049998 834668933 347781695 502597886 879023808 624372707 315355208 889544086 334388016 803296478 245496772 817535964 149014412 121271418 730021706 236381065 382901315 432417247 284360089 714180271 628436938 142711411 830437906 913686091 441407645 720596639 629986080 520540588 864878148 397661059 396522459 712323939 477818958 778017843 728511772 255687979 776087806 702944130 101607561 202479304 206998689 614755374 149069518 566086713 982330798 580775180 496781817 966636573 451710333 557530332 258806363 466086830 644205734 972677169 546788804 984072597 698348875 602893492 824951112 490416613 135636179 974043194 502378596 524582412 557779581 968139306 926150331 888643938 329952168 373544161 747686105 237636501 971607898 829934532 138159214 893506228 971174110 669258464 533844752 512065871 847838848 842941941 832239202 523778029 896861205 767857147 343644583 534259722 618677122 136686353 148792725 830913026 846707877 583854362 330640443 736749023 300075154 862308871 559207281 570109933 394013010 538034296 142595147 570265508 695847295 289035943 237441038 314556151 727083349 444335052 437406857 562987741 770480905 794091079 163294787 961822425 176419722 340020102 904437467 140541632 250085149 365657275 141617749 526680474 592660385 620167516 373977745 808981689 284293301 819224938 675216411 621312586 308504053 777427714 910512726 994923636 984977572 537926427 613896382 854747125 275879469 415822517 300218645 894477670 620424821 223385644 465300957 445832235 473168885 450372540 444124437 793432209 492055492 755949757 594238244 939131099 390950765 686561297 239882722 458608789 132000404 818257544 937015205 581807567 740625339 248739071 962802185 384647660 936219282 564854869 919719731 783182144 676480774 539508181 882644222 777161609 236274102 138541446 358166515 590158118 645871129 258848678 349244770 314210412 387488689 471358521 659469830 670738045 772236750 454943532 489644617 793067346 156548861 928594495 950685905 971072113 740792792 425047507 976963706 403781246 384750018 345208569 652853745 537809692 366380917 561134407 830791499 524538786 116027394 163370224 977029914 644408046 637370338 373148520 434475266 880679866 868408422 256603021 216609140 174155010 232102744 364659145 251110531 251579113 894906731 186604472 705715224 377935278 855325196 108969083 634650821 742709620 487128420 752340708 745639413 842343246 644509103 845842414 639407566 680513285 871152051 752107942 832312627 308879562 518358149 254213338 910229008 922857142 363136760 862916361 496627716 374630077 800835482 152018760 790655371 886137658 783077421 409972773 665328765 376804014 870250663 601014682 645190093 163637763 543230882 754555135 626176850 134645758 337188328 396545129 606440422 341957574 148513475 614032945 119470900 230041011 888331325 369947057 560167154 459523007 383463529 674235497 857163764 484507360 521516127 875395880 282128196 943895002 579343825 323113302 126432169 664765484 424343001 318920882 890631186 389204988 611872657 905076770 189876478 947217645 698848222 527185481 214962109 664795531 225912923 381674161 997700061 593455273 117734037 945581853 102562434 129965391 227138248 532163421 867382325 196270318 345785203 387394838 923390321 633776814 870333152 822457132 378546721 629764242 301076579 459772589 240304186 815312357 880416627 785533331 624388310 831651630 620622635 310956108 796593314 895528322 424400323 518806602 733812153 353386890 714035690 983749962 115859835 169312398 780963350 904322390 903923597 411692637 392530088 331231631 659141553 318585074 338075535 344925305 846274688 467124823 274137134 982104103 755159128 239649523 829995265 887761671 507142391 956596532 313209848 223333964 711525132 127295114 947903886 387080173 785524072 797009449 288310501 285756094 915587110 899941552 381023597 598424959 935735663 942291924 997906677 779574270 939720814 751766408 499019638 405254707 416137318 340041193 819579528 690153427 320974237 316784679 961726381 992967362 388392396 639622510 718224673 428660333 570856278 723234901 261893365 324921990 619445425 919002311 637239182 139075310 982193658 227392530 978172657 278398772 740181087 598945164 781437266 625164662 481915860 920667560 454790580 396291139 292935742 264279061 387704659 252394862 610809770 424298039 320049398 773689300 638778392 751320624 288304138 192153466 300314175 686919097 514780190 485548324 124912312 509020175 405382047 464237868 815928845 258841316 228907661 985768498 133236078 852008685 710304618 984734781 536626758 136008507 889319847 988708547 488982330 360501275 531041580 979558045 967063453 899642309 464684373 344287562 793211825 592534517 136066245 488620278 365723499 946177932 691345123 151068452 531248956 813469881 844672170 289883997 682057200 255674776 726729891 793387257 559607817 664748086 959690906 694633823 830370505 313919699 843286869 744498860 281287317 774647989 349957799 160636347 928246456 343084521 418028744 941153161 912011879 431410742 927035582 784200669 728940052 231697109 161679616 596485867 654175416 555553904 549246761 304332054 804518500 957346922 317456643 687659959 240786260 724365024 657667170 915570105 804228136 391404436 846926782 528657996 865489139 115191361 123673252 693610697 945164739 308446404 404919250 490671704 219353500 734510345 128951476 800511082 397379779 689837886 266433742 389906559 240510958 936205763 102497214 412403826 907312819 796346840 913106103 679635378 143828079 473148944 101340962 279391030 637496713 232713936 262651729 913436010 781642251 708717253 584963796 888884031 169711542 941347238 688760704 431318843 903939187 561219836 737267556 217345380 716384168 284917381 735489241 908768677 203790119 613046117 601009357 511429988 340635060 993061263 449094901 303153338 666216817 651470649 791330973 956218341 790942908 825504596 794973283 370995328 403825310 636453690 306607027 330650263 624507165 428058530 300496258 628120872 177228441 436327002 457410664 215861847 807104452 589996459 944114258 434291864 701540005 272601823 983860333 544145769 193266310 811730404 136106465 198395564 257773049 920447997 781941081 342315479 804465714 954262290 847118797 858633129 927524067 851070794 107107758 738066224 618479026 891107523 347571790 317159193 155880094 176252145 397329646 514234833 911571777 548349984 742150706 298728894 865037928 424809056 431323251 265456718 224090476 267376791 568441390 970874261 551634652 207217663 624220504 987687408 781437432 183218242 501860641 160763091 777890473 888395102 313083363 259194549 378894791 878842433 283616722 270529561 667653814 264655754 798978297 291060317 222095387 156190136 276043110 666995081 648670641 539554501 972830682 777481727 508988369 119744585 424356135 387802896 145833234 754388411 762634780 841308611 250311693 216676047 285919788 431022097 294371059 793925508 629311391 664273247 310335455 726910056 506517267 133436156 853257029 882222556 285120869 207111991 526305353 537333439 167249988 223078510 331075116 416741174 403155111 250575520 678212778 955791098 755385635 420784104 966094674 395536520 840519275 483406227 709805841 959419021 558105943 735454532 655643565 222104490 100011849 759162672 814706831 953679448 455261645 590253892 662907260 438454699 919908205 943019219 979190111 270015889 603627548 317920387 557087387 218999462 351590667 489770494 518614915 715823213 384780637 709606528 513666481 180221757 615777932 896200997 271580675 861490205 924497107 247323766 297617537 569490776 759490221 292887489 865338182 434063136 321210093 849017211 810506978 384356840 718453440 266766388 488051461 550014668 733388088 154722210 917173098 515763667 652013471 236017773 762648625 712797265 593698961 992965941 268828910 413051290 882161139 168748651 432864576 490665989 389072555 452312977 159228035 854204500 149982094 193115853 349125405 111241486 333672109 614793290 558239158 536164754 189555487 148961852 562831886 863960211 625838554 422454219 597917241 608195831 227987211 848552897 351061393 251466518 945632103 759442161 711181089 710094457 559074698 955237766 159466970 531869673 104847602 159637307 985365534 314597153 997531788 780036123 356077190 200752222 421952436 463279698 687741622 192237400 517833006 379084970 175556596 918332019 327732293 165615549 616886555 466328207 161997777 968907063 122247960 664358568 710203139 449126988 132491311 340324370 518993474 365459255 344883724 308492279 583796009 419588304 137790064 294178339 495711081 643999067 633103000 391700483 168731206 885560741 303730363 495944143 529233747 578853688 548168005 378268011 432969958 806951036 840168503 809795772 437919476 145535339 498203513 387906632 883286862 701946091 344163236 826124510 499402047 179389238 517271595 656193680 339920184 718444883 525602348 629771409 472535491 215203272 820477639 891558910 262493403 857021803 638501489 567305542 300332912 555701398 848022464 117516884 550496580 381156674 253665181 933333891 992873344 983832847 424653273 156164425 118594903 851876548 524588907 382452129 869743793 771308104 224166056 945049128 867353324 784328328 949009215 769014154 430091187 842539910 481568751 264984343 114056020 321264301 588827286 254235762 868033816 266920495 354490830 514608117 658976408 631983992 148058365 600707596 252282973 286309983 976831754 997894024 696643058 233006217 555708138 457678580 965393734 656957308 184023898 442082418 232276796 323622113 998872250 694192299 523794866 355490907 845159820 817776514 144199055 298555466 255060378 592101425 173368970 595548261 190410403 269055269 661071754 988208033 299065768 132979439 549158894 432078636 811911333 924045462 438860597 264134756 274191680 125834320 990761799 644024548 294624694 509728771 843235060 378356551 339254980 927297092 262485241 865482244 826215321 111257429 954548892 150338688 882236776 825870832 846763439 895582148 691440003 526242335 793926517 883240242 638411028 765630419 366564787 216201671 266340107 764380035 609131532 854384095 112683921 224694723 471018819 726218953 179131803 840926254 621397684 406819922 864986350 154684516 404360432 771973432 427116319 790798213 276427519 423361155 596425520 616968047 932431315 772172136 376293677 869566571 800544010 707412807 422811991 953505351 934393345 884611005 508996699 773977670 757373941 848640848 209898654 651954731 523800985 626345862 232100479 761408820 572398796 997926935 899854410 840995751 314053259 961433121 454218647 247493717 638604566 138621505 605220657 271280554 721787466 415468546 437329684 251560110 341373549 104329360 636448999 605425272 147772011 951424897 343588250 945799746 111365219 546785025 705741671 739746176 526859689 716371288 500839895 615573706 204647996 896398003 986267400 361980430 529098627 500708148 101612687 784296006 225862539 616469700 536369078 560285738 533176379 423553252 571348256 377868735 853344666 787947793 617214328 939155134 737949068 847761594 124996880 549393566 954824136 302214039 197903469 137615671 832782167 864803167 607737604 695140575 910508989 857838271 745042515 968816255 246855664 333621453 650582569 446666992 923863505 610921116 492896056 176599768 441076910 682407589 167426061 311209096 662179938 781093981 594481498 255928467 503419813 178592058 137994036 216290788 243296552 823595609 709063791 638194748 508723283 292334191 350649335 783554686 696200437 176571909 938800368 583325610 926276125 211947771 637164768 327870524 102151630 267330347 616968687 455552977 612016663 611252591 310926407 509703706 673626300 936851079 108797476 344639098 126179082 903373878 724478089 936072546 664761676 900556162 770648718 793128508 898421404 223152691 187616812 154000891 361826904 386187075 227447278 211896026 585995018 832722114 230650737 450777837 522965192 327988949 819408992 960486102 696170088 556135135 148547846 348214478 125303310 522816514 624837840 708316920 402498033 359154933 851297542 464276387 793124426 207811420 528395519 155467907 783263573 466951575 383377650 727003573 696023320 640352317 305957307 910849947 378657267 403341354 982117739 828591488 886632466 520444389 162961956 916391926 423737422 151568854 305853108 440377033 433743150 918430805 861890637 315991666 484689607 187327416 437937523 140969922 294564950 500487002 907880276 136586314 446579570 781030863 677782487 444801624 287007887 238597135 610630522 180261782 185876997 773014274 994068617 284634288 157061246 940212428 167371326 219648836 311291521 302054017 379060644 723180752 520249624 306644944 186331305 203933088 402645622 392032516 822342143 331132209 455041727 787326518 242968078 614922220 647150202 436105428 425370815 392095407 541941211 693609658 306198538 376523424 850678503 823852418 884410152 786707142 266845648 668566096 351937087 180525326 610484730 613494758 813038124 199483320 958763882 875456207 776232436 552373492 881918590 433165369 217694165 637468451 579330179 236526484 813422592 768458489 524588745 872549106 842454725 182864830 173264549 892595557 759409364 986856184 865144628 123276702 646853149 481249865 347339430 304472099 736384269 137220023 719400993 753063591 428771831 538137795 800897692 327051339 656001718 599944683 725723371 354932903 328636517 688086616 544415554 373282241 311339727 159027756 569717887 425868700 326114999 243509670 857594376 875090041 558330044 384515658 124513107 555342504 284622476 612152004 301665191 108369055 799244790 344486294 411912991 709612339 652512972 771140716 474951982 746768428 613795963 152874947 417194636 160684169 861133566 322147738 922592017 339879589 721396563 247415363 623017108 895014360 513727967 969022500 757262163 743917616 260795388 635778117 131125626 804644573 462693089 900280101 715006261 552655351 214404116 969819634 449006819 862122162 603711635 448015898 979650788 920027323 241917993 321180851 450513050 591767844 196053269 814772351 515550415 294066434 255509375 810516032 439518017 520558358 826022072 131741441 332390037 673649228 644256273 419567005 874890258 201537688 321019844 853425642 715549619 586800764 799068287 232858249 636855471 381955547 975315914 591498317 629180405 295056229 896870019 911618403 420819117 752861199 609542766 723532185 223497987 626505075 278027531 495218567 408629752 830496952 936221247 218495337 471670260 910670883 566294636 194527058 232170386 683533050 907745750 888372192 885603523 268906050 580856220 509357675 753269078 281524908 555831759 789901378 277945321 654455701 661882213 708764963 304563394 680690126 252369466 532761198 487033356 333531408 277998171 796503425 984110131 750626263 848402509 358384262 359495899 327760885 274138049 437157629 369132498 426246540 866065675 762975028 796174319 990802805 654729097 849634793 642898718 630539628 261950041 590030614 964504300 891543457 703036447 363763423 630015729 471259465 798591538 303877432 116353962 379973653 144759243 448834562 474421032 321627781 799213267 201012089 698254286 344738194 120983403 775658687 893339872 502417426 487216041 195950078 854515587 680996177 191546895 455001220 535998916 905777726 436545923 572451980 940533289 659786687 336101338 535070389 378572034 791688708 246653848 715863888 877699205 108343077 612662959 750000279 261907897 324991268 577316313 144616409 687801294 846984972 106156620 314069082 832286225 132261222 474453174 381854584 891032896 909185020 786833706 300513811 669620724 715120130 915431818 268466023 735718071 770103429 159770634 349659132 221137634 259293940 970713474 289601106 252027892 950499911 374652305 965325001 990777425 857837740 192533192 112399733 784984610 780859333 347245029 740500120 886568802 697920253 495316766 596127303 982772465 344636452 380225420 660255229 895483075 781071404 249417237 210562036 142525862 242196236 675579869 131047325 463625350 244560686 219457450 590741412 702056786 325952926 350668147 408870769 926610799 757639810 480917304 664735558 695937949 772666790 291163895 751722706 285913495 898023495 834717084 910894908 469042274 184766482 354212728 851318345 177105389 282170333 252410820 967621707 155108690 110017612 147932302 194526405 542251447 218028745 871258437 388167382 774752528 339629785 597296097 604632838 812521122 636433602 338318905 218937219 906511133 598083736 404141432 854367365 214053043 926558776 333203365 367815081 402818789 804552228 733430537 534748995 295023904 336161258 778912032 152733913 850244839 910333484 983681850 666326445 798503742 498254641 129162312 889816856 419522992 667356685 208747548 559155641 740732903 446526998 447867242 594791560 758263628 589062615 381205947 684927573 170987419 898339436 104095844 734970309 348892258 997932463 312870991 913410280 779978966 477082511 690764122 530857145 131624341 670712834 464617794 556336991 451929034 847122191 946573819 679808017 821731197 311366188 642053567 505352077 473061642 107023817 637596033 180071045 786681846 902152345 234269490 151947676 282691841 747979929 868999625 861481499 597289960 592340286 195156366 847574550 252157759 538787142 117923691 762312160 341812400 562036487 930977360 911021011 703817564 376717556 490047057 722067294 784831963 333072091 825733661 332103284 278367423 733477378 960630368 166351425 858390910 679660213 755871728 716967111 714951436 822089741 131499054 145669751 256416223 514917810 707107282 936963345 530043783 460326263 834552827 453083749 417802854 495825922 916585449 826047991 578170171 603175583 700648985 783182048 119694523 321397193 999361562 637694457 175166181 139179069 800107418 829272571 864426979 668748279 897170744 710719052 575758343 970461773 869278590 953992127 264896285 127529056 940146945 494875154 830877813 396634160 523241985 665739462 834702383 132937583 759908437 594524574 747514440 875265083 107525891 723208534 767449734 514280186 461015759 651350051 955465071 178430145 483489233 423268736 690399782 184873463 756877888 500079578 448828326 265430650 621013928 649667973 147486502 872117588 267595595 594924337 866687435 599097492 483676068 592239891 550869146 747940921 653188978 828590016 337817175 700317110 423392785 303354404 751582874 333254366 402538819 256401282 441368793 118737111 192067271 124222760 403906512 225501842 501511101 209747920 129746940 155831290 145542108 737603966 595995716 556872209 789004395 627693072 549054489 399829681 773273153 640796918 381067014 990140640 453050904 972345797 442234277 520105467 737520146 270650896 921737420 974032036 573665428 274214700 491062324 417034283 557522036 738568215 212350747 771155381 718275074 683714021 266896529 373914120 778107501 882129298 861150662 115480166 614875931 534749831 369220753 862492746 687833011 266421477 776805734 589418971 886617838 367265556 201685395 754627636 751933875 107897853 379441743 401448284 267304021 424589490 989919961 177130448 470225055 956735257 155738455 314196913 479505885 294595179 500257421 738627148 602351831 964740647 956402689 572435787 675697089 547825523 227292692 588980720 796416900 971023197 365468756 351006982 971457287 827894897 134428166 192257676 410079899 244225694 494748487 299811155 524752230 827538687 973963868 335270610 203716576 429778335 988934223 845981322 724644344 107004964 539941572 509350086 901500042 352236511 851417184 794883276 127239282 482121407 189461793 408224966 601515848 592449308 618587135 240370284 556201977 132873754 317458595 139008758 975663473 299658321 319617656 846888871 906983447 984166721 223628146 483833591 754029522 735165654 700446529 753820239 445914532 543075384 140671613 837225324 845475870 212199661 326933609 195532008 944842602 989480294 848231290 218178612 349393642 691764353 336710621 809379155 677624269 161477593 795128730 261014000 877138142 129424152 286703353 849888101 445228706 776172431 229103065 312325623 169549294 719280978 112060297 988351790 755647915 956716945 899719098 771696308 690934892 984961626 540014905 120177179 943841601 349316772 407177725 235463262 489152048 379518903 979698091 251347395 857165669 983814060 134934605 368668562 747485937 664212553 520359180 803616828 110361895 214152682 710465236 291542524 801228874 355902201 874836308 294631195 979749101 236747454 570065821 860209377 268729510 762331652 416935627 625002652 755996800 442744975 453521287 542036739 981549268 509264534 882610609 850087804 868802899 563337767 315276853 176109969 554334444 174266302 404879326 845767729 568863746 392914065 840759320 231240801 177016770 652648467 358229432 495424363 199308032 209768953 342894545 372604787 947188503 444812467 144697954 805987305 468571416 577257868 544089931 575450867 186305191 179385237 237154673 972557678 876664803 217953765 383526838 566055093 417228475 966621844 374170575 809322098 871611642 535946353 108013890 136381764 830738726 273780873 116994867 618368846 212766427 936362445 193324259 346938654 640062250 669176433 838406895 821152854 655396420 750717535 228288857 955837276 378707080 802551916 859903221 131809851 786697220 344564523 388355410 602362079 667217161 410043139 962894415 246811249 665652298 107618537 920847334 600480486 184312893 517556421 457520513 904879870 312032687 726407928 473315712 262721159 510512847 635789819 213004849 572298135 210465668 709406696 211556115 531175571 566384838 558329773 321034093 103698681 743846673 849627740 983165479 706834108 783153391 561731946 710134103 648594545 578685097 727106627 298401769 934685522 280838520 735996854 110868970 572989148 265505419 985578785 773707365 259197265 111633259 591243984 733547842 580749996 177521064 946521722 811282856 666295665 631052803 535191074 303588694 467798885 562491342 739954270 906092827 434274168 551630305 674409028 967897429 983044649 693327615 213540446 913555596 516559723 767260022 807137836 862678411 132763516 473331271 120623823 857831484 612891407 426492131 828614749 794350481 690807797 237904416 138092467 680733491 463708638 920148907 630695110 808249472 664722600 971296814 536588416 412908707 590653550 648225711 145909773 755936588 417103748 442767439 521586806 539841223 631979891 107252770 788546861 919647336 540702345 249225891 195999148 908801361 926795008 969494332 112256603 703388075 655909127 428076331 973295556 974305135 459221167 679237288 702463301 319532642 875819992 228100032 773769914 142271929 705134767 774652716 953429816 714442253 446053991 740459549 489727642 378733768 388239736 230936401 235315693 952954175 996505239 592032455 672001475 283285684 491987326 150009914 680816596 740861877 239419278 141086297 226805726 885343333 119504200 262675213 895900396 835002984 983627660 490000660 885272993 206745765 850994559 417019303 820873794 947595477 702805728 673499942 444821214 213180891 804419890 313357361 711692594 545436947 323458721 836897477 372291143 477446689 702435411 803681015 737902646 232333220 272080603 492140476 571256480 417636767 590788995 450091843 184655262 579515452 732164650 203009418 968488804 563531639 183421431 796275222 445413237 580568238 846957388 838081960 679473431 188394546 517834136 374080412 345550906 243077419 630701203 388469023 667768708 831014180 744533000 936269365 615561999 994945148 598168437 800667185 987198075 977112881 190300014 904727216 433643106 430921793 924610666 695823094 897507417 551229305 941133552 981803924 337294107 136026113 460188156 450345722 327505854 144801098 471367562 482835578 810129804 444443286 264516484 873651920 601458595 450262365 770813087 477749058 544469304 741578535 872475884 396218411 314716768 730889485 992081280 895769445 560839654 504143342 474639733 393910193 314364640 189941064 825263679 259345264 614197570 508128306 762382752 441123888 180485640 506243463 965666064 231291071 515732685 751069266 391555280 277084157 606511584 688821691 273562967 238973999 976595012 666132826 985513179 522245527 130818880 381594065 828522129 469037312 604133526 181084615 291754803 160858517 337817542 890590205 468403122 344238043 129879060 943336794 726428703 337321074 100800181 440372958 526271602 186649651 746899781 979685140 694320035 324537238 919022200 951251079 764772070 450744592 960875054 136890504 871006789 825700119 627039304 740310951 501419163 462006566 202525020 551689926 610112898 986194205 115432667 205801196 670847322 484544230 191314913 581842424 940461230 549725550 853634572 799655707 202730106 900651360 197122734 608389861 208266344 161408772 609649422 973500356 143511736 148670602 751983676 130645021 824065213 191454843 662765091 397070479 560993487 263601373 195175580 965190366 750974357 134893363 114985243 651561746 218863828 453811267 692823026 384494165 552928834 551257300 969746601 975529225 600048870 517526096 848279722 262890328 101740751 211308681 859581098 102422010 265091406 657981112 793690850 812447035 541252016 384985861 194795068 124341813 489411433 769931176 203709658 116903692 360867174 800598901 967585041 455447964 453511817 166539908 989395012 386668299 628979747 941096083 469656987 510692468 178630188 160388348 492906943 910724393 832109944 262339017 342176960 639802116 517678083 779213103 136121129 460115813 758954526 172044971 736898689 301878325 465906227 280136831 825505233 968459336 545319887 535827042 711026689 531368020 959816880 252018246 309860302 435612492 530407076 283493543 937216028 266880646 369804898 216780739 822596087 994041186 361753222 686898399 457047360 248238178 132539915 883436237 169188243 148192462 466292475 845894516 972276671 197701900 944440283 814143990 898143028 412089766 243878891 439686884 404199184 808382716 856170272 762379157 437628697 980369677 282549564 410960384 194669301 928192922 425366871 272363987 823101425 868769113 514541108 337999812 434204801 357563414 377764644 159259152 904974393 817019472 441485842 929126865 497994293 716909301 669226014 771656258 351986474 976959932 526611526 185332402 674365840 815963442 864475930 913106722 796313234 438592138 951105391 274346454 585464009 661933150 680401779 700667435 290278510 998237577 198063079 738906229 441776562 816467877 131273367 873828867 605306407 285410293 928054636 862117563 822371337 218810650 303917773 268936341 982418153 469021315 210210772 334048106 995895952 779063694 348773742 396153817 870008176 112077831 767524072 951509522 708604118 837008284 844707277 676298776 793792457 540815317 796160857 531776347 564920643 733048623 926866928 218734002 105976102 770881699 652535801 557172746 378393407 202866119 992499104 554783027 884567108 853280895 523099535 306138690 505347639 193661013 702862378 181289935 371059238 870960788 505892320 973235394 991840172 679010158 518703375 346841938 664340285 378411707 306226841 226113317 705473812 623676322 514796573 927289195 158732958 646137840 909922696 317627429 603249230 338644342 590852355 846863431 304965567 823125224 637836023 659336835 206610237 795140433 778031412 999371919 562719261 708406035 481161553 941345362 943777590 358345588 969305599 228591003 855081012 281229735 223251370 452193290 129047280 458605566 703603363 243922993 237230374 650340257 160148095 635009117 153321363 185884993 943847134 612111614 635288356 719442366 608676806 494572420 663057167 335737772 804810051 106461966 201682834 882636975 410486735 373544602 516651661 112367390 412984086 284306524 610628520 739021815 757716553 638131000 353406778 362415753 474945561 891162607 824761616 776613911 553059103 189906607 383696063 323254653 785887944 115027616 903068723 990983623 186129551 604156643 424820006 908731775 946688521 679918308 125862405 928891457 503012485 505605767 865369907 464149616 725286318 966621506 874978581 949803759 671971464 141176621 311115247 147555123 511442975 348360985 652403171 583766086 150413100 278980459 994552808 883158108 972358851 754261587 184842354 504999448 705768381 810878832 987613759 725538009 814079578 116639103 708190882 425509633 604866605 802190989 727762885 201180932 544054480 479873868 924447043 835286226 281126498 467143377 384409851 110574661 633636042 979046646 466170977 701545577 150503260 348028900 411499884 124308685 573935859 190055748 520923683 297508320 958495811 178207082 875398156 546835060 545957950 734535225 333506602 928398555 544001212 165171234 434779368 437577501 109216505 644092158 188039953 392358882 236247463 170582917 323276522 167950327 603769687 991897595 272574162 751700772 150488221 221276483 953996109 267265804 924232772 117958853 731204926 438566221 183287743 380407057 421334612 687576502 564532409 706828842 498099199 891753585 307760205 984782048 536480417 765611963 348150798 734696329 156331265 108871250 556648749 767278859 749681833 676754266 768610842 909932221 808426300 233457402 746957125 452292636 345533264 626394230 676606412 705984164 718763906 511628695 173510098 192162887 747316173 773729519 539032570 689515472 674250966 671124183 634217332 178964880 464939329 223784750 545700956 850413086 483980326 576434594 488749599 858482647 701259971 598018266 244204537 203188323 198465419 977527403 337794728 362619506 705741467 774772148 610715084 588903629 980181491 641213683 367286121 785483535 341471156 536395739 358233609 521536675 946913043 393359343 869585385 633631687 863689028 937085101 774530098 860664409 963408048 648365789 162328265 266991243 401418720 237885203 937734861 925340062 484831531 650991257 184762962 216274661 249680460 139718910 481913410 904580145 869613978 811799015 941092569 465820638 598157663 698019874 841538291 684439204 687962793 384487522 874302996 261410863 897218441 838520803 947659779 180893286 644313881 816910854 268782882 144383503 254179250 181978807 399806605 964606471 435462618 341475673 251420732 379335488 966049411 608889988 397165644 442141629 198695718 150917100 789235874 941433636 918253078 817286528 300987371 590104596 926629059 319503803 644765983 171005023 102828919 529205268 661644253 383897547 760056764 190117096 386363645 272971969 522867612 702806045 652065168 535423425 730555966 826834414 906416033 835906132 337335272 176858039 101769804 466346503 409474356 587211028 786803193 893256681 788029841 435793403 856271277 241610883 139573889 680096684 993048041 342936423 970283761 942903468 896404617 653023919 459615188 705111323 286351744 370284733 138051801 307645616 425483142 204116552 902362978 548057985 221072022 796172242 765317814 889989636 316012905 368035955 496821975 734632319 269964292 496968532 388684642 450489340 677335898 521311588 269089357 871861301 874867350 290418711 243741804 925047282 962986886 854065908 706426924 102316970 720308059 343821487 883643650 533606732 671779018 982574053 897213187 344828573 854449668 358488014 467256996 387267386 548261184 547412033 737555857 224607245 371381362 847116203 153082510 328527249 448995124 874582781 734036353 130873402 254935378 404080378 151706614 871768486 390298863 253057345 436338357 767726005 475476123 755900466 390087163 224987634 443168005 868192005 446331048 444730425 958721036 101507093 615293564 167952520 228206639 359107797 254735314 677414659 769488938 540026244 858707977 454888006 941077869 436683844 296888580 342105135 942710720 270197151 733020551 372859421 160425120 393275041 950208946 803662733 911631668 676513134 825143719 163912723 422332181 635645835 378635932 372438673 108800084 170330083 785341198 722790491 833054542 999295557 414962181 899051285 320073554 887136742 670790940 431409026 235057121 277722764 600283802 774992712 960026082 834443211 564912591 143018753 626762672 707650217 695122738 522629977 363403979 955204682 863019929 935347477 216543199 845059978 657056191 366470951 202655819 596553513 507378249 247793659 941726523 883330970 443076793 374741228 841132030 533486964 189514557 115445810 141869035 796942960 402624389 507710628 920656603 226259361 430778597 293107033 212904434 408491599 193845813 699421952 529830219 402922419 340650105 393413429 112069753 591893649 619247209 477861908 914582097 388247500 873252496 399784717 136610783 368539126 621836159 544844723 415457431 305175254 741988300 583222666 504858338 708022299 944520043 985247850 672810732 233495393 102962192 266497225 162173715 161913379 116698616 490959703 536343051 680573782 314480519 840675489 858584267 341099788 597981618 595877167 713784883 155863148 893108651 705595556 658590903 889972960 821259175 613116355 839442665 905816483 758549029 900691352 834319562 345004736 345229746 267643015 239440452 353942646 820949850 623050710 201628114 891930201 100975403 440355091 742599060 201077616 762395642 193353856 358449914 253748640 546042989 490879163 731924459 266532359 776926509 742047994 384735570 151800524 615403774 697799666 320184844 362797377 827504239 119455736 345322014 181248902 927218798 984230476 150738800 582696810 415239156 524691840 857844943 882426342 133231407 751379797 305946281 801998342 226606837 708660229 689532253 559170173 885609744 359346206 306516823 326959039 365712855 447430843 152305422 298741255 974482328 392590151 541387860 109738924 437307238 713504554 291048450 486235212 147901779 937684182 606160313 871100884 916555883 486909486 133745065 383905728 697418631 933239859 566843595 837082919 358217957 330605125 364217930 227697769 160690071 242023664 645067208 871046518 990154259 144119987 879082120 733819349 210731987 142167175 196521431 640162085 543743494 650698747 749467231 158786853 500139115 302078200 429327576 474949375 556460066 520040797 282914091 454242889 481987151 260672793 357218366 891257029 440332595 270837150 194488837 596690534 864096812 530538096 619901630 813318733 220836745 757842677 610260540 785493550 724409971 160517614 532215155 738797384 717487926 941149030 936567594 341237541 556799977 826481715 202233105 451037902 586655926 373461846 762365735 292974197 903960444 319924689 347957223 609669194 567122415 973056624 291651377 410326223 651001112 871176535 214924091 974952590 791597576 939095046 998865588 535924840 334116893 998680543 922128122 180195607 209389883 965310215 906927380 460439733 133275358 118747138 947587629 867760746 581499304 352434075 949879195 446747799 861026285 739377301 144066934 446812849 238218047 829155874 191076890 447202940 964427412 308353602 340651027 880968997 691630607 516532299 235545405 262493787 232131238 365825398 959943820 835223249 943773719 968478880 130893614 595812281 911461259 226219763 175841896 477599976 568198728 365049463 207276827 885500550 228824516 594814592 708104712 203357689 354499563 247463012 515499401 275579585 455042365 915133731 400650445 837839493 760121714 157544841 846463996 623805716 781781915 138084059 599912147 823929931 809236706 286510010 877397090 104801627 906578231 687705602 885010783 608417899 283956412 429737784 895007008 954028044 402246300 974175719 152684055 308921310 190355687 703761787 825745314 686835997 232539600 703747503 753871605 531780357 578803043 969697351 867285747 203208907 437104880 289666997 639806332 323246412 817923203 844621140 899574338 849465228 378334630 724695346 909973280 846737826 774770505 988085880 673028444 835718443 206240615 537078299 138292628 210152862 225528956 639803672 915429973 386768080 511041084 606889856 590423338 342513405 479685711 431458057 617007574 400935545 624768168 985072701 985425928 126786081 365677439 411825345 552883235 173561883 645418228 397162362 949837829 281741297 390182743 503482058 538278392 711156078 950310277 852030176 328568287 859263631 357708658 573617153 878310004 341014723 484919183 249077816 341198959 893411721 441166869 146342592 600659797 900128431 224093582 897383894 750652712 578909061 285459237 307423124 782725835 899565658 895933221 472754455 386597173 982789910 621616132 699071482 826283208 471832956 711400378 878084368 736587309 172640672 328894392 420905176 314247856 852834198 429629888 452386014 321080653 806724676 260084546 174845822 859454643 601621287 516507282 352804897 271554534 455103426 512978398 479872700 593994112 311614640 204170038 786798844 321456038 238739226 879269954 942881829 552179366 469036344 107798909 141963099 488304482 112443325 822164651 120425122 300870617 708880467 356955150 265165068 126498110 735593672 220660318 395519765 797547597 373664789 305096913 966433658 370386533 906840964 814497993 450511705 398081733 578514129 311949173 166925782 257808128 983509503 247933262 849723990 573919075 423353297 852555177 511925531 984288860 332020081 272116525 870511815 928528246 758182152 661956206 431722409 575601063 149024533 268555003 377992817 661279086 374363251 309329138 286350217 765864829 757882243 561807930 238170764 839413613 110319295 139632036 414030095 230153416 961012035 299934573 637224549 815438655 977765224 503696784 100127391 660508831 895865407 152295102 649496844 997941658 626896860 993386097 277226187 145353354 443046172 661160397 554938816 791448786 726115320 112624317 143383802 884363476 886362184 745656353 609030948 469899421 206529344 901590689 879599575 197212620 639828739 190014475 564956295 629137919 341655139 711512272 272920221 313214884 580091632 668256858 126519648 181948520 706153004 853724600 392933116 709327786 624480421 200190738 786133914 789038561 568318966 279483067 325469601 735784927 177657480 231695439 488516914 646846278 822331330 353173890 280802399 899516217 582444976 202500704 853240882 201195910 832733750 457500123 827598578 144975961 331544383 794599899 713445145 786675196 996750485 888519028 180381816 421718593 984494061 326919422 765726663 719814708 707474358 560421592 955988094 689455959 793275405 757711610 971995761 269428780 893210159 801593008 700224567 470693525 227355195 253491649 933170490 662099171 757001902 956661803 632967585 488835987 344967657 291611513 750483827 743927674 556990743 552015920 127658309 467956220 675434579 459875233 635518908 266854136 417838263 128126002 328309044 963893708 941197041 764335718 616090439 464158597 499191560 275773427 773138743 486198865 847404615 622484420 377377260 332668050 388283308 490314981 693647037 422153114 157043433 934610686 286304801 172336086 441995332 366233529 155590209 593287939 548327514 701247544 425563471 651824121 517516184 540125135 281376318 160161732 559514811 849257078 866477581 431070516 524376277 851512856 460454131 719168788 397868469 915122401 638465012 779951406 423472345 533899522 383704882 639603448 433272778 158890526 128077522 193007823 877525244 783838999 761815117 986665368 733542367 309085276 263936868 749901845 882734989 824168888 905535529 357771826 615392572 467288509 627069228 190831725 667303137 631847041 913099970 704218924 907268124 217609176 156516491 726399936 503808349 204162600 292731849 544511770 482495685 919606450 202978520 800011231 571281921 455806368 813094912 964434969 196142584 433593575 420091503 749835916 671607110 593228975 389125144 588373805 391457662 182302169 923111682 815380840 953188013 228016767 235358876 689847896 946030056 996685906 385081991 674362066 753545391 112953955 437343249 539707903 353111361 710451989 145041490 277930089 989580601 436134810 573083467 732892181 310792527 144343166 889392785 266488228 661189036 985133996 664538384 967712010 839017720 857578585 910279500 654933786 101647541 779369010 467757166 557666023 723537236 984690382 846834986 206394424 185679547 426754617 483292611 769256583 396822094 291349874 429122789 638221412 466273639 821588574 872231912 545982648 162751238 520823763 281460927 473453750 448459646 319832709 745951462 152216117 814851880 175922210 508304324 476732016 603260236 734673327 278737709 240673341 515601219 641129476 731166358 107380048 719662124 698063137 600688476 380220640 150481642 104750164 794604505 918218485 978221291 708366328 639763325 905839821 318195591 256391237 239587627 906640022 654804768 411864709 861390425 184575863 387509202 293678437 350402610 858299335 962952381 344958114 251856730 173510283 175984914 778071927 724703936 415237999 351548560 725650546 745496958 102374344 185943532 500666294 930889601 901187978 763554229 976786085 947965572 357716008 365503154 644990869 197679049 182515057 678148327 933482130 200973704 306140551 641149089 408421720 573466810 182475125 620650962 932383901 468871146 376232969 999453036 675600671 369371276 864374967 675918631 618143682 197282729 941786862 389154934 897164525 542990670 200961087 357985714 683632394 598145375 342847912 482067168 178070970 462442697 578900987 186545759 909267679 933431936 590427500 492730861 543994563 794657493 262391955 925691546 478019453 893427180 359197450 492584307 883522001 267294763 916990282 934315138 607738597 353432030 843436618 151092356 496437635 106756770 391706676 628997966 107305828 410564939 257709823 381437837 184809190 791286958 261286517 372316010 331961114 991580322 234664484 977203239 593857826 979086009 387661612 341646847 357819172 477509376 327414729 926030266 962430325 836207373 322074536 139120325 271942815 318567407 628986068 917385498 485628104 266659278 342961553 206295901 302940369 839866039 363064682 938628451 120163282 918322445 679167595 762312468 684618512 841543225 120363091 303098857 242084907 677248008 342418642 217980091 623787100 724073168 767582360 312638369 911406591 544901421 839681039 647607010 465141382 195594754 578423830 388592126 775787154 541794704 788939049 976458065 265028701 755766941 550250828 916721580 409304389 825227995 548168558 347141326 240514877 812417843 915752297 782291892 625739821 273400996 259615583 779326563 913965043 380773445 210553776 750847937 291607244 845425008 222432954 321016527 721688194 652232699 570117647 112461292 973604745 379856071 852291326 206456304 681713873 479343576 944374633 715814210 821295921 679318272 940524364 827586691 696194564 809313275 651100548 973149470 796958771 357777922 863880644 897972692 432072055 211936303 510682162 110124156 834181210 111611251 785161196 221495210 943702187 489273778 347008993 499655724 579281222 815086830 171155430 630519476 614890398 884306181 703548016 134924961 749681018 775316577 243240750 801566431 920597908 529395978 258279665 897568853 349273540 578517538 356834910 615334710 530372793 871231565 405535264 811583839 735618826 375958042 739116333 339074725 828174521 833380440 959321056 810632935 580765832 593535889 987337241 897713589 273523690 302635320 477512928 823217416 816707082 597859767 622587203 130660681 695422539 466864260 638022356 681751171 905305505 271238636 536687845 622125469 239294685 590044702 847944031 646380196 459433559 919310088 416240047 923810078 222989127 610827817 979223706 330280227 807813891 100089042 601974379 749843169 520017770 528613056 254174106 828388597 936437426 137281791 696152682 733679795 575141167 133577555 736294463 212397204 134503505 570636685 142045641 215887779 116170395 968700804 293258651 182317861 891975497 630945983 300245695 378634057 369953741 479835168 941640115 335391194 914957323 927815816 636555771 886507211 928885466 589956233 948447235 848241701 861714651 611031219 760585093 473772574 251800198 381506729 593699840 706951134 547871415 467599288 981644195 986642832 413636757 912508557 300375218 708925738 997194675 671572190 616863357 247780254 858442766 723236926 382872710 959262744 853037637 430613337 339460021 372093722 470607604 385874057 554972100 105063843 577817953 295755458 762067638 754272411 592152168 983827916 983869126 756599558 905191709 511086802 470370229 267013145 247781843 530771439 960079165 917383948 784520832 871016754 727690585 253729323 511067656 543306985 167137395 377346202 965373238 795684530 869384006 611627335 835002191 982738179 996726523 949526731 198650518 516144349 646943629 449996834 166776506 808525632 469476713 914367888 331884712 259865689 400835337 857406425 768822093 271629147 436782484 329296000 736462343 321392095 757567776 692665560 761380265 358636733 799577067 969942990 380947761 598083339 232526390 768654984 512051743 956347254 225688907 296282632 766632094 250648277 409684319 514361625 931403286 148710639 604198008 502818343 783969648 373497994 594567289 336226236 725419221 462156181 742610439 959139927 320677290 882575961 554779352 694308519 685286493 528052526 646937398 577210574 333462730 200734157 532267155 190317544 531473656 576329060 579660866 643412075 712454865 316491621 177262784 469592969 653755791 236933622 173179377 745207157 506011287 822987300 751075545 906389259 450804885 265334954 268247638 987708089 976108163 394778811 465347526 344811321 664754579 216848575 199527038 645180627 790203755 168643317 321898142 169426823 342444481 932957521 984509158 307194089 452598347 568357306 592001307 425808345 535108503 435967609 724088596 438258390 251136012 306205511 656780058 389988945 123267438 889886071 979910101 309710094 114915453 659587461 784271130 717221751 752977810 949797609 927848595 949044204 320694034 504219542 243411431 338515211 720596349 407182932 529916580 378783710 733637730 325285929 219529418 236403984 225162895 913164753 208410517 927512443 943939119 910866754 181372008 489982956 108085280 717771418 780836474 965049577 644389706 636608618 791037611 398964376 281098993 434744401 392230888 463130881 880992413 629288333 306219154 689650164 119024893 748224971 205749818 380692458 708802214 808518932 764304703 808971703 694381398 447960902 831802635 391789305 432797473 676074260 117764582 252659716 788543599 517954083 703576787 158885882 324217472 829195832 794349256 137848658 767564488 873353918 881706784 521800587 984625075 857642226 865100479 607265619 205553989 876553684 916968932 761870768 250884542 924583237 790291285 829664381 622873919 292237321 255855313 833186307 389907136 520791539 237366313 115330790 750507066 836671634 973063065 557233001 919792171 128011429 542399578 928840524 288417148 815349992 739469809 601489002 933480030 923175294 293062987 510861827 221907736 228531728 185869304 286662922 135411436 558943106 646895458 972588267 903376961 808847231 609765068 272809340 228294998 654613284 191250092 329361497 961108650 297200975 689558896 839218354 366513601 394375773 861364281 233704361 751349340 548306901 736254713 261019663 210394168 331476836 555082675 772289757 852695972 586936594 572849575 824507366 729115818 102899266 335863755 212146820 806456494 876168850 712575040 590792921 882174460 965525979 292590902 762020521 992480911 627361446 725855942 272101993 907551787 286829722 341716655 684452113 963340860 569740692 509789139 581386845 951511972 905441691 783620356 796479022 104367688 908127028 356145060 229275113 633571810 610010947 901163899 475449202 104066797 802194622 629039578 896795812 818475470 138089200 806943683 383932161 387624876 965138106 728874437 444230286 294201177 964587287 854210025 468482548 317055557 250911493 550140967 849882142 376102384 587639906 552810554 589076813 175022274 390171902 546737257 108667686 316683145 433886149 545007401 902703004 698698651 853521566 706236612 584016142 644741427 132233875 147501004 771652182 886895858 375293686 146607059 880666184 311999677 320333353 736919378 874292871 979812653 158138849 227580038 434380079 622862832 458762653 421780802 214290472 560051002 114388532 457295613 143988730 293547976 965199087 332201893 649645062 511637154 838418526 545256595 678353640 397773874 338673388 706081490 925765206 353161760 709248613 500725741 182755003 469492909 616250282 905464872 739388182 906770913 832151059 271690230 806246462 606102200 190391052 299878188 247877183 512287113 218853654 779480382 560268190 595553929 738835309 953369468 392125496 414110768 764909710 611548265 622648433 701130249 301893156 251042515 512995997 687020928 644578307 188711391 770542255 103019848 743880532 755977315 656457651 627899123 610503576 854663040 412246306 926055583 864267805 977268209 324849080 402702329 655865595 623791210 918869536 646936441 688384948 461872942 875035456 700002117 368410083 179820022 504133056 462730927 228266504 468406110 489688966 269813093 126663729 916126977 507967539 619733816 823399767 225998156 222863373 181739989 546086947 250306250 615304830 966952948 443196002 363795206 673058331 609927466 628225434 319378509 561724155 353278414 302511865 426242550 900590480 704177094 576742972 739702391 241425771 511400417 172989555 816334011 208341089 914891911 439210660 851075185 195260054 973294928 661900094 489757237 638652476 358566133 231922901 756019805 826879942 140661485 112065614 586209008 668312636 915174331 604059824 708148777 811249484 210265654 351528840 204609360 179635921 446578805 929289437 749611739 619670308 162277298 592388419 203860202 155353818 610608470 792397179 397182067 798062141 814301476 306919900 142334964 316887378 364789135 109157974 541012808 384953053 271934342 761572232 261151250 921840215 910684612 860512546 155367614 147157334 709939677 680198233 376274894 804383294 655938785 598989682 687357720 294628155 273935145 948706723 732169209 776593767 465026597 553480678 185661347 653343517 108621735 788104437 196464588 177827744 451366802 448843412 344218929 329794582 167665406 848548664 542781160 663700190 649285336 409358977 507433023 782311549 306913285 554886901 520351533 822224213 536379449 588983916 374160150 657288329 268049192 462762199 201246695 297668806 526021020 869071233 549401127 429923638 314890251 831899018 504677852 846817642 830118697 602568148 891868264 181927330 441673474 596782656 843433949 460416401 641669281 848484872 560969565 451979424 550136321 908595308 971392611 887510182 258928220 885635739 948141788 335581973 447358656 833106112 483731693 170068483 979872558 682497226 983728877 820490368 467638108 874969579 582473371 627134101 478970703 725702939 790818910 497411756 357967770 556999091 240159195 486044177 228359452 654926897 352322439 950530769 971996591 216129991 818989383 884213721 876967163 694331602 890623410 869506440 654492002 761138621 710610640 839489013 331032564 960806650 521601211 265591317 343898079 919606441 893277101 882426751 108947048 567990231 620516403 655049042 167975211 243256063 846908885 467345369 586328683 980165890 299209910 483082681 841042177 314695362 459094643 476183626 132118996 378509137 100442314 706981458 754251414 201290174 192364835 653990213 432915220 684968335 963723735 508522205 907974589 461040429 833582610 883577108 376026970 269623908 525499565 137278801 979318875 328604935 267994187 960614079 160253550 690839450 854916358 944837953 354912519 929742664 252909128 754565381 402171184 207522885 669471423 883656519 327739083 350082197 717484419 773407894 485514611 246604943 260397539 185192298 681557038 243672370 150485481 375591186 466410836 397959260 481470158 235234791 268285979 955973471 992782020 424769743 951281332 835318856 415065147 308407711 307055783 223202483 277478906 489258969 760941330 753410106 158040843 367237403 212755990 125401663 956140012 666619652 281267724 236714299 308643657 861536961 897352631 939542020 986534488 429940401 496310546 383926451 962186301 238128647 396699881 257786870 238637507 458270593 717738265 193007167 903210493 884122049 757528253 903786696 261696422 537557514 310654244 819728736 959288488 436844666 237086793 343495521 249357508 496619440 925933707 226855361 694137292 935449364 381265964 155333534 267374508 105595736 346439670 918406773 910914234 988283278 955310539 116074930 691363824 791988179 273136199 516855663 868271141 655024725 305570134 175570379 591531457 954140871 555702916 155422173 761761708 630094693 139117177 216896198 565117156 540569222 430200128 321814866 810840786 265607518 257561501 427843891 235806063 780888411 297481706 909225832 351989366 631080656 262115058 776334137 286926421 990066133 945793465 745432139 579084585 715949900 839448393 717748100 991398608 334593821 184349089 241771557 349024299 586026657 905802056 370951461 320002782 588868599 552693933 571815280 382734957 754100876 677961561 787650205 139777620 331920370 415733028 576327243 311015745 118742914 626327897 496743677 284843630 328422811 212519370 597765274 164480101 872739488 376458617 272274942 368923675 485487393 633521883 548146229 910351663 376636558 972326351 157197449 341536143 104365069 495794679 741105295 126512882 295737591 421327183 409633165 225734571 200102804 363757003 250230052 424148905 704848279 887312470 154240313 522369677 488675988 284601176 281205954 288805196 865872364 636828332 224448520 450567888 517497919 455769640 299928246 808140705 822362446 127499266 236238966 445258014 402395890 494765599 427478679 503534919 710271981 713516431 809495634 240983435 497731031 698846873 951378065 702486648 398987632 990994456 338402027 440213213 923448721 205433907 176932451 247807332 380196030 238352426 586719856 623262932 981362454 193774566 549011579 551375188 654540945 992934834 971717911 693132883 229026101 491157811 185121502 754604426 665445177 712693364 892007890 790986142 842527619 346826888 218766085 347110837 940224398 335028675 284964629 182463601 398342950 812070016 215991469 853122722 522713059 497460862 129575044 441418309 161446724 294599811 403366299 228632391 831341370 263647701 801925589 729642145 135231952 555590943 714760459 681015970 135479193 453623648 359592492 789396303 217895463 863706846 127272729 802686530 904555366 959107963 131721930 364948805 287890507 830571002 591590897 310682245 504871023 407930250 497920068 937911233 804666992 451630167 958756015 939186455 459888519 120184464 741935208 795897991 457893446 779009998 620913331 973472616 764828142 612026968 856639889 366129472 853581008 940505193 805495014 948066458 178719980 887851848 719944733 829795234 174887355 761894893 367714783 151320351 973053707 224475746 713345602 934547296 383036024 468043170 367837492 219879261 187759481 143329671 589340084 623573575 261026996 634624574 322993871 802473317 425569230 993063953 683852216 796442857 303779967 449733381 277042144 191354380 730431349 514880164 382755452 853742525 210666750 864527424 872765153 842930034 284635773 410916977 100926643 764318344 296695178 542941113 225381158 307622587 824003366 638580758 231768242 754775844 572963492 214908999 124628531 979804140 693874426 508131687 971751587 401694675 116532571 938673659 389261259 819045353 161705297 265106335 182224960 575538998 965209456 809347540 951614634 992355379 651293909 394676751 573634680 397786998 568934817 680942253 485042782 978235772 761937424 851957129 770096434 776686264 885318433 389235083 651027957 339586469 905123256 477623034 387613496 352434603 966462851 178518443 985553191 950378507 984473489 651646586 773786215 542239919 990171425 190176635 987543160 418011104 975902889 318400301 339033912 505955595 438434744 936848589 887600160 616358250 930911414 231804390 584079049 873630755 423542222 365686389 712167942 852096173 402456414 291897796 127903388 168714239 169540315 613833639 956130395 519428086 432825080 964900786 315690394 885073301 204195543 890987666 732957208 524333374 841213155 297585343 365840776 956105058 246874224 681422597 718058529 100784161 576364884 863531709 367628405 344998276 167223699 433664918 287832984 625768367 801128255 424456849 794664411 591501395 821677681 888912146 193333240 371341923 973499406 270925895 597465327 810306315 220737777 608897487 578621732 212283325 419959321 319496549 629778778 933199605 363746356 465459608 451263574 936391411 757711635 664366812 898650643 529115357 646907041 901922249 263256012 195780977 851531779 982875317 750347333 881366545 998322359 942880958 304781288 820748826 928641941 837647126 972256976 715821658 312422365 218720945 297576164 105748981 392254110 775183173 352596780 624036191 802684447 380881232 380389977 505350372 765726307 880486707 713484612 892348835 169500056 790489734 693205381 554399024 367396951 823878070 901509202 737192348 376376657 820607146 244252266 686778821 293607887 340741267 945652945 891223653 736113443 933847203 996136875 828022380 268139950 995623332 395595903 172398275 235762073 941108421 634636359 613424849 299372793 522106403 505830958 513921279 232566903 344272326 818696323 973684076 826422338 238398789 928130318 626680367 719893719 440263730 532620580 982492523 295772824 639349219 375926346 503492129 974861208 291373547 934129526 761052764 749451571 952719654 415746789 205467784 427672098 685969373 370107192 418295428 476256760 487352572 372474658 718451372 774451037 421049136 906640635 574099358 579545140 384508114 961077625 778649859 489931443 954634808 897599146 840939027 826331352 624221827 620219961 202847465 355563157 245555664 155034465 424301392 838095200 181924826 839013608 126962355 540310719 743044830 118906547 821980540 958301243 908942212 220799620 990893527 577776270 974144772 351011103 296165885 883670443 966614268 837787786 241884014 367101401 658216857 605945873 821684253 498658847 822525607 816937459 321224405 140134267 497132751 320114654 104147880 920042841 611854107 160285796 544273532 156164830 773663368 368752033 231733746 536209899 264537566 322198953 895980994 686242121 452773503 528038221 739220714 600149600 105621010 151812511 751816317 329225663 821359480 228817936 689573608 398761047 203349225 443572361 548667083 960644047 977061773 266102277 984651486 800254917 424517513 463997301 837266195 783999135 274580432 231096311 326475536 249383667 887370111 638994169 224187456 671271896 512251834 660144793 551203060 106929757 250702216 779408452 795612046 698323019 502471466 784393079 768932393 223056080 590673285 977389049 619359733 591082110 987864222 363763985 417291178 703396688 971036764 462041792 287694940 817921368 358476353 260276472 471947344 790065960 666879450 826692642 815377118 594928142 477112850 706820508 811703360 167939052 520366631 705121541 277275242 281834283 406499357 703251308 706027785 939715184 997493665 992787152 143929900 141784666 942415394 759663658 592060659 919652039 957390416 599643172 101085124 775643339 343192275 989061613 581007565 145014169 369806989 425228956 762126945 906452207 483515894 784365231 978633707 729034935 770041134 758791701 719161735 269209374 666964693 748110856 241121879 187286138 559371027 671583410 127953593 368806749 395575128 301776873 205584408 505367840 844306447 108019529 561761674 648206972 547775197 705162858 351571438 719049469 790480312 472113505 516000439 276840168 905131108 529222349 254277422 708246449 434338062 772536004 151146582 822356642 789317013 849363022 401955657 311596676 660068142 450398383 726767010 977687879 460146598 371215684 510978803 185474712 955793252 659100828 498544601 634415197 879336216 712770212 556377077 794481470 751327123 202913537 469913319 842677628 211096116 547192086 776150815 601438564 488026365 679769895 310934541 527661792 202702794 891535387 787768800 277197841 500677747 485571869 304682253 733173692 651648960 781476991 159978899 648749280 477929154 123951799 926159602 177738058 534953997 501275352 177893496 636904868 762875642 189637351 267062314 892666745 516238398 815546611 183402141 627609476 959582583 698179621 404610644 817459203 634340429 796399240 260505462 293376265 739254934 333123548 764186624 825751802 143811567 717478216 880618117 934311085 610032760 108561363 234617206 858104252 497872206 508011033 527080336 227459707 404487114 962548739 363985739 141684712 624759564 100046255 810427887 294221215 991435763 601579062 855698366 111536534 898142141 712985595 991604281 374444711 269284194 912465847 224186104 380647184 821133856 598052184 951651616 809409030 964178705 773106911 760093396 423801952 616794970 335821076 973290615 943813884 843645644 328348285 608847145 868885065 733162491 720999937 551270878 978551632 231009915 351352512 359951262 234022226 817137856 734818509 217149454 843722152 996442126 465884347 301532586 289855316 842488745 506818750 482514171 445126639 209057102 448339123 278515742 511510387 549102193 332000964 820014264 312204844 236095303 338152544 469993164 797891927 886279225 874587846 930073867 561249356 718133337 301262288 647231064 832381592 427544652 464695502 210273198 934435390 210130406 809807546 579129882 297453918 894086792 210488359 562507951 471283155 163254026 399037572 286958327 870889757 108324748 322966800 330474405 863984781 379255860 352172271 250291845 200874921 222560116 282998019 392919378 156111516 952020579 981596269 378462351 278757297 357475638 595866188 909142420 112726901 571129646 971401915 713871675 765385146 741811618 624613235 243138074 508701150 260444352 688067599 953413408 640798330 279818568 654136802 301092699 688488050 637872833 665429078 995110778 681021611 887739713 688207807 993032022 579316555 833315332 972576699 698270951 779725766 419741424 703977085 238585195 596409099 228022476 220536549 434594386 996373989 316381161 102044092 467518949 267922096 610098304 162344427 775300983 862991226 191923480 304297869 949478970 989127481 583537651 919728900 903623564 726213254 887913123 991705621 604750026 419535669 651275298 731523919 984643382 438479044 188181324 772818393 960209139 778321575 331590333 243087091 409681399 670617270 790120416 121189838 205414608 329944344 804559983 284316115 642060393 758786398 716090279 566995932 444082076 997901483 674594435 361575749 726273629 214804060 212164256 836627591 333065367 391995443 188585254 903494975 854270023 971515287 659919169 645181414 480032809 851320634 903663975 641601057 816344193 679593186 282979754 920971229 805907231 201877872 534764307 308588481 524681865 420631728 955515369 179750735 637545980 526485069 869670894 806849954 602069975 322755388 704193634 992424298 112946068 635376852 256213990 410840706 869188376 752646005 532043909 994725426 941243440 519193432 135120092 400437698 557827426 770061213 398319762 984020423 701038659 933360117 332616563 896031730 656849552 117864203 616174652 196384348 454098093 549715001 443262956 696721060 131236838 619698979 105104892 379259948 475438682 635609583 178822772 304931750 914961837 901768489 793335450 462463215 545823403 638746488 914497592 929826355 434269460 217030242 363332795 804585405 420495454 618752290 869233538 661689038 860527768 878937823 219518653 846504259 180265987 733795451 457003141 567430840 565591048 703612379 747164285 928241797 617520574 717012096 148650046 421589734 806596722 899026211 956753941 717459466 333312877 815172805 719758928 981782296 566464676 952310966 481926791 772932109 330129969 210379229 620208417 880719116 803519872 916587368 150997880 369149598 581358936 639564580 312851845 819026130 787426951 893052027 490351913 326775878 536803593 591222054 543870674 648360297 638802982 497220261 533689800 570009479 556316211 348070020 293026502 151148879 802778685 659516204 164732011 840117482 575738586 614589943 884431645 332097806 151742577 335668758 230495435 101267940 443714265 319301394 797999605 319168235 104522215 108647581 665722084 716779910 903342578 665013903 364627988 976014644 464746836 694505523 645595935 404042669 283701901 513189306 739754385 224087335 172380662 543700685 736142090 969817671 195593526 557325396 701584271 572740383 679489605 669491301 559749306 362137498 257851287 780833721 856287857 692822333 425569439 532062271 422845687 643492344 644361340 422601532 107201720 189883041 271923919 809195464 600515960 637973347 843535017 585191329 535562319 247298654 437901834 840356436 666321622 993063109 844816482 294451458 295495612 953285084 881471749 606308977 578413083 969385151 206460935 185924451 688543062 558640814 839634930 680875118 852213988 266505200 721820117 996602874 409756076 280268977 220578185 581928333 260901936 448618190 677053161 175680164 975484626 996716262 944361331 859440119 504613317 272033471 307561029 248332992 717526373 122860553 159718862 440401419 792827318 739332494 482816082 806215460 817762197 851226619 356710754 823726811 171462776 524496970 155125029 620872542 119895555 362077549 666493454 601247926 540722321 436675467 625790205 685329789 809044238 637388726 398989068 135078989 590589031 663755117 463648780 105346872 555423583 576268193 290352972 610531979 626321299 518838227 345056737 748778241 976304972 941215895 893785624 169573825 500857763 491909228 472805759 523974954 863298384 545317357 410303452 906496022 907405598 127335699 826262811 292317132 822452372 427051990 243413787 538576259 944817562 523431480 197997272 213674301 642677314 735487414 674435582 687083387 616208765 129458679 971031894 998816437 371051892 125344229 503752130 478150986 530114128 601516510 955705235 728137076 968632981 945389704 964752025 874334032 298630166 908319146 951727728 205274302 699671828 101247684 892398540 964548564 698943447 183964869 121889693 101393548 591713434 731737544 235663270 108237624 234198200 359055960 583491531 273932826 793105000 765933914 874674396 633778057 384642225 397971573 156460217 842694102 712507744 235415881 881217302 132427087 621236123 415737740 790567634 231141908 863152440 467933009 689728045 783888226 266251874 145014462 158064947 143250301 143960886 674163157 978724874 574422493 384214276 581421687 727060151 567657574 829442862 398059147 730777257 179783291 966754692 813456876 318353163 826665555 441355662 561531647 459988103 193260920 298660286 443416228 378808739 893995384 686424014 198457474 484927649 791495790 810152409 923048081 674330985 228351251 933689593 629240945 172525710 323650081 337878837 727028065 172849055 939293588 659801385 876721034 382489885 501649210 207540264 823607523 112169124 914298575 978777451 711138357 768624051 410842137 174808630 865983909 873025020 721926090 711946431 303145022 298113039 110018258 959312050 185345164 229496274 474229671 574132413 955715989 996577981 759712399 735463700 336777506 712905690 968712735 143614151 841373437 890581997 599042792 515481281 723888981 868244381 391262242 142321398 306065758 276669274 854848828 298344292 284250462 540216478 699993527 771489812 781183370 904396933 804254029 222259064 971753659 596568306 633697611 400743322 479325328 143252756 894147618 995382359 542370243 638836651 765228973 473356093 536033073 341066243 875895319 581032260 621197876 769930324 173272473 477614069 286370145 451504013 493320102 237451143 909139089 608304344 991132839 684203183 515233891 506149181 386470516 180805818 761643750 209034470 587954910 817407103 375882608 982721833 695015430 354301394 615470122 802507970 111503425 939074803 420624271 142662022 688848415 793040310 464873268 540275649 734991117 507714077 964338546 403949461 497729197 943542073 840811393 279970319 367074834 921939619 780987245 499550821 413710116 521330123 221277190 421667205 766261329 337796162 107918688 278406477 522628020 692556034 538733035 981570847 638291616 805417850 852406784 815593436 731475461 188313307 767013804 986266218 716990365 318395603 897395727 853474223 488165852 228415910 332397632 249025889 449833218 401189132 118887897 271668319 156299479 488662631 685033440 516094305 199510126 940819919 620209386 817793391 991145363 326489998 697988909 862947791 680791641 292365289 601527532 677884615 834678736 716089201 601291890 746348646 156131749 755174237 161512996 914132888 452304982 952403024 316416831 578673203 184787638 720386270 736378848 900756687 836242862 389826960 985402667 662429805 111183837 135665258 662897353 926403559 881797674 570025246 763784432 904528207 197582719 502656120 509563069 401960580 298959723 435276256 962052615 757178689 783290864 120557263 461721847 349258180 506889744 991429393 177092547 123256491 986854227 895335509 290417808 179223498 806999378 372364396 719839999 537187893 716294289 431617817 927630889 443453694 238606596 430831969 159504574 400425055 492847474 112236811 742777458 685395547 817324776 221184872 446028942 755024724 442845212 746731691 842375732 756673299 633799183 490337504 766635507 366189222 936077168 763191251 615334357 588042233 989121837 858719159 323397877 420968478 649945018 709238215 879271332 294460357 125798976 416466480 321958754 799232797 216282709 126780945 623400847 301378004 261058484 136778567 399097026 123865196 742726878 841240262 800695573 687329376 177486491 665528794 421750685 750667870 212531257 424018994 928231478 390623103 985711846 115223922 907662249 723781502 697293269 639030522 831567315 749802417 484369437 287901856 488906960 159667524 503972626 390689189 373270825 329923593 511070742 578564393 692931267 928989210 589834212 556538132 834638181 502976593 972183799 490481644 236903753 693161758 451202918 522366302 465705569 768444627 480828836 754287983 139997015 190043398 104636604 356548135 471828591 198051406 833685466 505999557 396875726 588130021 288015618 961838415 479613727 133054830 832501628 577690770 751933556 504252574 702854697 581412158 870059987 914206245 899428163 834448510 506817429 286962434 871133811 693030956 676904369 846744731 762355557 982525706 229398629 526655931 265183584 459307393 516918349 948447955 510197348 818367669 962825821 645121869 176456602 644265313 349477636 343474125 862675451 812510305 310206397 339935125 831375953 829942169 673284443 123749957 371828707 577067099 516038609 443214742 508170158 271348280 966005917 206091837 294417832 588572798 548280401 698663466 843758606 250494643 848718692 637083422 362109189 399597253 561487990 648782101 461810745 280668664 374410621 382006031 361223701 857349685 599323547 417292001 291593945 788728945 347243780 773860937 113101139 426477780 558449872 981745755 756073147 781975481 286102195 944507496 644457044 167154284 237831182 280217152 948954358 238257539 217795010 178223516 352034159 535465569 541057045 815329721 818848433 256099259 441079267 507012157 621722737 689590897 899821531 174279275 504451768 371729598 574691551 657039252 946840160 889366610 652548544 126253077 731941670 903058862 162650325 922786526 303421435 725928547 468481963 587085188 779170053 468897797 774654483 193375279 247359036 460794740 511041917 503310908 937079988 675713446 348274842 404768523 500483338 287387799 675888681 850619547 730522122 508196110 387179990 832391107 493231494 411591259 742307263 514538393 159862588 425924985 433099482 820384377 135247623 162636902 279767272 338785476 261059443 760665221 486130886 371573058 251992645 469644238 869227721 252140183 422470281 444779400 395023314 141258152 971204583 169221786 916441840 431019051 153889365 361832859 223819578 664272184 370267409 851255910 698081150 504210068 758842000 350269860 300987230 270699299 325768259 725450706 745098257 680681071 648650663 493557442 678709366 635575805 302965660 175678076 420071462 229800932 781453094 643775655 423580787 496263418 446452502 742394337 568989668 639834104 949605934 850932260 966130512 995630727 820627562 679901221 633015395 762336969 652067931 277599165 749954005 392522385 678690472 134312240 843721693 707752529 788160342 186130130 834331521 426967199 509489947 959487611 456020320 603960505 576148788 900986977 346325286 143076692 275652110 628687112 849687370 102939148 921831119 610171646 376222530 119601653 609441202 567546009 466722613 730440511 352840754 689318463 857128886 740767265 633104721 930767514 508116738 639774956 700435925 739930293 339578607 253047834 536837925 294932326 448266638 726102256 189350907 103280739 266620507 293483835 461560780 810099991 266408351 121813473 295347963 275447888 327439412 126860374 100015200 663674325 382777833 331247447 675836734 785916691 724243058 575626289 483900548 276898118 932008643 615997172 276791776 164400007 875618190 915650322 681357103 939478829 563843551 868137923 575913692 511342168 326664162 542972117 204003544 913800600 114803888 599354574 842810899 597248553 224686156 731096800 637224366 154835389 664100949 311173408 792393300 675570684 523966349 901233956 648876285 208984176 859928523 522269863 507571594 854637328 983311193 260786004 752071245 784125785 840832958 963523474 304853327 727811351 707018343 700166691 509734376 400124874 847118055 526784800 744065536 201802871 707532246 836150588 837988199 635914658 255511855 505189990 409575485 114431734 558085596 651822575 284094666 385660228 366233374 277238723 137273950 635228291 336857873 648547450 663170723 162770679 901154671 762100963 575057614 355157834 197343205 737896948 434646960 733631019 335296616 655207991 405331738 783972662 851987390 340151763 538606516 132432737 516112388 197959236 848768015 141350219 593426366 216113296 637096964 659053978 894266709 466406669 226863775 880369832 943784429 600000646 854295956 108746855 719638615 150257825 678343765 842861083 378074700 886578300 649067827 533770759 161512189 394859735 284774350 355206538 282467648 240262613 438739276 677298050 474153718 952646044 288265598 703512924 268878507 658351338 747088418 505843209 335351126 479479796 998006748 668870277 548857281 249711180 640864733 474228257 719715003 956167868 202348148 261208920 721005105 347671896 985349236 721228661 239808909 269287684 999620001 932501183 419314444 587594278 670452426 240793480 637909444 516997613 895368080 306992025 223907481 724467530 266753561 922078181 264118804 256872696 119818090 487971577 713489961 284849205 933906770 803067152 846793007 404830129 584721223 874467258 687682900 521569129 396605074 601544145 277534399 892093293 558007724 560842616 611340407 644653423 571191418 519772148 940073301 637407138 983342625 903600654 319951802 527435698 267923250 130178053 733705266 897584394 955851483 856252188 548750576 777135894 464024917 607559528 795671709 181468810 939978270 346776147 552779161 495438916 967872223 263679251 283088869 671888112 334662331 194380243 666249420 171280805 493260280 703321901 463380975 855753560 666304727 525617513 405787349 904587019 830017762 906704064 683261295 762266017 396114797 266508410 660642797 804572087 271859197 715293537 663815377 728413199 706383423 211489362 710274658 566151557 337239805 274631293 464487408 839811513 156624925 166163347 892521642 870453137 187963619 449894820 612925878 317983652 201154331 771063044 434196875 970116116 129413135 429312841 219151648 334599795 113398193 167669372 419168018 448882019 653658746 323882702 322955725 873994866 828609090 214300257 840640727 759425336 348097951 125573185 949929018 105639789 911123372 782511912 615084825 105620459 217363877 675103408 248715029 233345136 389330612 673303617 357225791 933514167 545360085 490911360 812750952 345323294 289907753 903748729 375311448 124929703 298664245 191152519 702536003 658143943 803417425 367034335 776315810 740406764 816010320 280346001 910419380 808987524 512651881 929506596 255182822 166289447 329659972 907893520 497143427 350494321 540780283 727415084 170392904 756004636 759066359 159430189 944888925 201034477 988664264 693005122 548710573 472403710 715751589 591829882 927663696 336050724 248801015 521420249 319662305 863462329 338700337 179436268 759383329 768383132 129492418 426748484 311544174 488060432 996358005 199673951 378167830 645722907 256030439 953174871 384639398 284900228 387855673 148962254 727607266 677947625 244835826 321250103 532996449 820911407 304840714 732588457 671909464 129374370 436467588 880619848 161147875 536915978 516803618 739145013 909413516 456530707 798843175 896619259 764687923 443401676 465240870 639401980 338813319 454874321 530445969 212562669 123665788 112693654 920681597 257027571 187386643 569349334 326345002 430248288 382735926 902520806 394430417 514873884 685543827 310499912 209029586 816813659 969384239 525268295 479778054 964527408 353231946 412954047 845175923 842001925 700354722 381091004 491780026 619696757 371484213 852707659 384673251 360309434 123798971 838578976 360073709 160149320 889658099 949884421 187217935 954839757 503602754 606063155 345581113 179419168 672773412 263462974 541582069 933506912 295412910 378256127 942234600 501266586 545674247 429351343 511665171 966416460 112986928 236716647 917994879 583700496 626514082 775474833 209707631 783906589 305716746 585279846 809225756 104998475 497969561 748202893 436256062 557460311 717609586 343931513 776629721 874551482 639005409 540288716 836006930 828060002 555710435 512115204 879547704 283116021 488957672 361036651 411119454 369116857 120673684 272146304 743023160 669858476 502935429 432858452 776757387 835127251 198375332 596248713 520454416 141953352 602704234 607737672 280768717 412935937 434350800 585426778 793538527 721564625 745952133 302511951 112020817 437316993 622900525 796377248 748131407 747341817 359134034 179343815 966273348 804385372 668226740 806984544 544242824 692906120 148686092 194494288 773348849 822363385 166165755 808680584 578457304 694910848 957461251 255521412 346397648 784888752 594102823 780916914 788620799 397397721 834458165 555860734 573938131 516059936 370453847 423964104 209797472 939902568 503423972 936249032 936757774 896034176 968868472 104860772 168798991 532840308 571859169 944548506 633770101 841043953 620775089 721242200 490280594 537485343 248861451 535799830 211510440 468645773 624695059 779735446 874442457 144198988 697080731 100262502 111058120 905522718 697426569 528907337 400179871 580115669 972905151 269003215 169806833 184256495 244914354 774340987 432594161 570163192 939008053 320944891 913957869 465523178 741031946 277600119 121559136 987257251 871610323 255963174 656118219 631590191 186987894 951586179 775890966 232222999 750140858 697101594 769809990 747800577 686778368 560748840 817038225 306547741 925228635 973716919 868692339 675429288 144269996 801335843 485449046 319044817 248412879 815308536 301738321 215553384 459953575 909291121 882753418 943988439 165031034 819433317 819154423 281682560 917748567 105167921 412924189 341154428 863664401 970001380 153790599 621135846 930138409 223216988 459212269 781216378 488705902 635981968 245808329 210297775 316370011 275525345 192716474 441610371 599292382 645143825 905709024 414845655 860530870 587474634 517241292 879941138 173378656 649086707 326059115 755860974 102293566 442252627 113219009 573304960 391170680 528267294 851341426 847293905 139903760 469107480 890864824 319179879 192189614 900526738 208105088 209471639 884106905 501909862 523228082 907092086 692611565 761089019 234457763 850985436 981004951 663524965 631746257 545995755 914570297 989119487 625478029 597048283 256899942 222330741 962723086 175647605 233739403 878560111 964956790 979553691 577558184 536304474 390152273 103630146 417892647 620865554 496278099 592385542 960480507 273354907 646455230 430176955 258031031 519919975 459832060 754096598 262603272 520334827 275943154 365423097 202094377 244771126 687853184 500389239 270802551 418690185 964046733 605817869 242258071 856825004 368430323 507051796 569278730 419354613 455353222 594902695 576590679 604516660 769753156 310451707 389881716 687901102 341412258 424300204 400081103 814313243 403568392 457959601 987013309 743175875 913120686 796187703 400544014 719867395 869186834 694841530 652173856 349312641 662954210 675005131 702068629 566330919 331203060 884137720 838084675 438860390 347680541 481247388 968649904 985160141 502859142 281467963 598867830 568227350 501128308 502386367 387881334 783356938 971091685 559647788 930631273 110914511 753766498 630578505 212324754 485160854 522452021 351052611 701143146 982176564 704100573 284483798 411531230 943725534 491711097 395282010 549712432 977376320 500541373 947127898 641753807 227522156 237338698 472371189 796358891 950720773 664435920 919727931 842402018 431522187 867991381 810913853 730752148 437025567 242807726 360167183 841673990 385705010 683865040 982732181 393759810 524689229 856697239 787909291 198867989 657916025 346532152 375092341 738107765 879824283 159217831 364703000 623214529 840243429 508268354 924405657 158915736 215354705 367738091 946808357 778134817 279884568 639203052 327426996 939092182 904999417 618431687 670855012 149548423 678172835 824907059 703753027 643367758 792136772 394309313 555390416 956535432 533484675 291957582 447609218 333170710 773465847 102570105 514453969 993246661 472599417 258208891 933121960 491777758 840255898 919059393 903218376 529889701 787750577 272764019 446033499 203803272 848891096 648550433 312038197 784792198 509137724 304570186 396195900 171049947 654576374 263537340 827998129 617357688 601897576 511138093 732426477 840881351 752493248 734246803 731299441 345196663 223915488 532956654 214632757 369572796 759500578 824200588 449506776 951826222 701224038 226928693 879737140 233886604 432918734 562457056 611436159 397837487 996206502 574083858 236006927 287859879 264099411 759131328 611307928 236194169 146253628 995175522 912603865 603142358 432028115 886535413 258971860 973887359 420882491 706485561 624770300 743851834 828572791 304981064 352118672 213605309 742635474 957984680 400572214 747081143 619192731 292771846 574525176 861834634 632289648 617892933 254906708 992053689 532745624 590017464 480684592 215673617 136569398 829864280 833476631 425676310 433915014 626742836 870519920 855628784 666130526 130201479 325691575 343886629 685990613 839765344 437639654 520000274 527709708 508209507 167419554 468403161 664790004 591551572 805125613 393386297 264733451 922706226 372981793 951349068 175690109 209422542 728704481 781726009 416413800 955520278 788420748 960277267 286086606 734635119 375012938 262175118 863216584 152878965 166730390 907089758 381534680 568885586 441810203 656272621 496459453 611178223 294507654 768695556 529018599 114498161 509142042 319321377 506246964 108059777 671861761 735358885 448070101 485905957 321593070 656512333 174624473 906050312 691196916 356768563 282744753 360769085 858999855 229844396 243864925 695428579 457936584 519347678 335219379 922348154 474660977 205405368 657517316 875136301 831656118 584123930 672770126 992876669 878297491 970364253 455498378 975583967 266846129 495571922 440876731 621140515 989286616 853737939 986199194 188983874 594766041 866210946 709714953 894692380 642437640 286295364 197638026 469730554 829971550 563615388 836428188 965267884 612166591 671069841 469805362 289787132 572212733 159032385 756544686 365396018 343519040 653667653 813800927 197304251 295152126 619119879 970486583 980610700 720651458 855511951 335963356 317508986 141124718 712165473 891807502 169295714 214291848 985144468 583253102 874735512 752315081 853692258 238562716 742574139 562107129 288623712 287970186 328692708 250772728 506050674 714190865 671083535 620267138 858548160 619327489 709099591 904342286 343582808 331537263 998196724 565889290 788256018 442362409 621149156 895191408 371115791 302724407 132942552 202460088 235397736 677280827 553980409 558558678 141729287 152696451 136788683 661580357 629050038 656118747 504908295 213132365 551704508 523012600 373378457 989462427 388685351 297124086 756740675 246430653 500341309 734131018 818140761 788418316 850716540 273441605 615405845 331549761 736320649 139485456 656952702 153563891 583085657 467986044 802957226 562334205 717502213 459699608 930683875 305256596 779786476 568002159 859388059 633789636 927167859 293809862 777066946 504831575 515152539 365406434 418064689 470140533 869294220 891213036 493772567 277316497 853818727 216758536 401921127 520186407 450940938 241674308 247589405 975707786 264234582 953250509 937143222 201634957 438804115 853915184 903742814 493666909 845156129 677751023 517445464 246739245 394468659 201826916 128691956 443565796 257839922 157655376 111783738 741376792 228768053 113135701 415203318 353459442 858018017 347591330 319990165 525677385 888991185 200367288 726854867 985320394 818321875 765058742 260211020 490699517 407833178 413774955 926216347 494408744 306617051 487977265 434896380 257913171 108524754 917126731 665685348 927284905 827594189 318875444 570435592 895571338 604475746 263638100 295608117 185095002 118913070 433076576 379198318 919292028 359750239 362630758 748307490 929433273 780029089 501923501 846708106 825273711 438016811 482705346 902501614 767548772 403089682 180712367 178103629 867866456 227525245 816888304 522636190 528881358 103434686 543137830 806552751 631367867 795742451 876120492 884547949 697434481 226974875 679460956 109409089 146780584 747625374 156750595 601917879 329767499 474423010 442480490 511890915 421674527 887383226 792071364 304734488 394254593 384594249 896923693 128333898 739649616 550529125 854562848 821033940 877937296 923917041 188866707 505394625 550246897 688409598 578224997 222154570 707631830 915929931 142374947 321740752 198215585 558825492 587390378 761284891 207667528 102196227 316695600 606049151 201472351 174609576 526158613 283594184 399919379 266965772 781824599 117234145 528805335 241742194 691575710 565121933 487394637 567004353 460950348 404258510 249007953 188471078 850749440 177965415 183598876 273019330 466396724 584067244 846686277 791072075 386433296 101633539 768997834 161114784 153962350 121470192 629451812 646896264 946319790 255775598 238602273 371219064 349265213 361734157 342378021 919744832 830804705 987449252 602365143 751945130 749711093 258523691 389241456 710916834 413069422 599349540 931689294 150136463 651134544 280470267 210452257 265523667 947675781 828856435 834835712 723571019 126767899 560873627 871129623 458031599 533071344 927990681 806813846 567749422 437135394 546119391 917757678 888702978 133533317 235008192 409324706 370297291 147419696 996525103 170029475 978866306 709593391 531314753 930699685 789910459 461697460 810423827 781123595 612410678 545095471 256424290 195722774 406878400 514714335 427276687 881491413 514134423 744742706 871244009 747361090 466473609 660487527 897167768 359557778 589989264 167677749 978032650 693508928 553303373 886539073 282842927 606756799 940706921 661058826 343600179 432750319 453942863 835488279 878791981 229628946 880828178 516392034 434776765 664489441 807386722 740397463 577680059 714837500 449063744 938616381 899090891 347209037 311429696 601065382 382146357 488989127 614842547 667002649 129785156 134489179 332384552 541966235 958105557 666581874 629315274 904867196 910625977 772848906 970224478 643827079 471429227 873554281 967808343 414205908 254599075 676626531 672678299 864450075 472322246 564295703 624418085 645124199 851628953 138670722 910453473 289896933 890183451 583492238 586157863 351806931 706131244 107005831 673941915 456733443 289082420 346045319 201704129 780882877 373410598 605449183 438863515 235973975 817260198 279181350 368025525 163669840 583623225 317497322 351607014 520694502 749599278 996104428 620769483 360271058 653974816 466623651 945702145 500653360 740303224 358308304 972348519 139292315 103540287 186637158 613861216 976923583 164295640 141143087 676488752 550811551 347438572 861686757 948103629 671282632 942923482 884734599 738546552 757442119 295417561 469627544 551046987 685097123 929198972 389851708 541592476 568678357 371162486 865639295 740461065 411761636 186059991 650580230 614879309 607686798 515167353 166080096 263320446 676168746 956932790 203502091 958408347 894890265 302430404 656844499 501385463 808167995 464698168 731413325 927202399 644656916 562473019 929502609 831198563 155211719 695606161 580168689 810733378 848827673 138003176 554363946 964285320 897009013 914233694 766520366 852920272 639940783 705400728 481022049 760670915 153335799 386332652 678355752 323940780 401795808 353532837 776681578 902719538 966528117 251733195 450583902 917135594 599591423 105472913 298949432 391807003 356740632 556247352 633023349 201852195 531682560 177452688 878522323 821938146 950048961 711580160 234866394 426918912 869997921 571687039 226825898 736534255 176429572 454908717 648276526 396500507 819968336 396099156 833746041 798917980 294203373 123732828 664266292 818839867 357113128 467351415 605863308 360157578 678687313 995902760 309446178 963433140 653326947 581723531 518118358 575908835 276208213 386689287 609857751 880368604 847070962 496193428 122707264 744826436 742294938 543760830 716894727 841015644 894814976 537213170 123435531 376135897 462349059 885469659 374981290 609225953 908134510 900269476 928540488 981124400 843962281 726310084 226376380 162598436 837924750 503111082 614514952 335378586 477457275 471659493 891740747 242801093 224928779 443687358 820731780 765361921 868192071 500374667 766626110 962011244 149126638 824710576 734189772 288207542 780364956 773416762 633286266 309666181 609447880 589972960 593519715 172591583 307305866 687549799 668059604 222462440 981380249 843968564 853197449 250066680 151905196 495485542 163072584 512626617 546652463 149253476 841652832 917124532 922405342 352086027 441564965 508601188 912494397 728204310 487726920 430302325 169513072 435904475 918759555 939853628 132261685 140867215 924352112 796950638 894872193 484452166 762341675 450121093 254877431 832085675 950242323 132523936 164874507 210170302 148008255 170295232 602999852 988632192 535859940 520161043 515092334 697610460 823064349 280358693 423436521 980172169 911529917 426550428 681400031 597605197 100125802 909797139 276763283 950774348 343272858 613390273 854856688 617353047 674690012 651497515 894299310 168024214 179172475 234126241 996866360 232336931 607140329 685951075 889997238 117887642 730107640 305299232 636203651 254633449 593224576 794701549 684050466 746190516 235367847 649442083 159528530 775368018 883289585 491855098 655812140 995182063 901042810 316819855 116107831 882922557 153465379 860057696 373221607 788053618 174901724 766641774 422700019 257274371 947140367 714840532 731626042 251910331 987638136 694315587 476977069 570744647 622916551 521855813 272554720 600425137 929279574 968671414 489976839 518266212 562974734 242200467 786716755 506684253 181275198 880121235 810836611 470041319 998707698 909493059 917845023 537099007 563344628 497529647 276953817 656834535 387303817 649058332 477371416 236182706 392516831 425577198 589190737 746967577 207729031 443278704 121202975 318373468 305854031 547749855 119135781 338180593 965697812 373680274 220294289 104596280 753960892 281427387 598304081 107502883 715993318 548064261 921076315 464250670 202491287 556857892 845170917 432160087 593251910 428879563 298121356 774605309 257050211 936066201 992285444 725808513 612177481 522300146 824618999 783000593 538110456 449734321 443169998 156781071 561450538 901241642 952329438 941821623 694543823 220761806 112766421 836627802 172777731 912009990 169903664 963515007 811290937 892268378 820714741 237194068 200038905 735216322 277956361 313982793 439072138 234738360 788049663 787344456 227783021 570332881 466458494 744907531 854789756 539277595 286596327 838864527 483887409 734572713 340290446 392204633 192778614 240383078 734457725 127944064 386755565 440716484 821871110 241405943 750262188 291719151 868056679 256221812 887739674 335452465 113878701 935418559 412930215 211290441 869321221 748440487 978122680 420967340 525088945 552904553 399698960 796942012 581230761 863773679 969073028 533666154 271771797 635003837 834675684 722817967 905714784 422080398 622537030 581148312 290191398 880581236 115497052 988947995 690522659 992877850 666950298 558047610 445208715 330314743 637924899 758742822 909858195 325886983 572978696 954296067 523513671 208321030 770018779 819670465 302226962 815619281 538816738 609147811 768767126 709293922 361758015 669697133 248878278 143692186 746635682 394055544 375652269 351248359 390554838 205519876 934668251 508152381 112489971 107726747 994024646 877018128 492066049 339190671 479176349 112032812 692531705 747047593 936953023 832808562 708643447 683902643 749301407 885820455 874820472 808862196 678997255 104674298 962622794 726952611 318472248 321021376 370686431 388672834 702882122 560805755 946701439 288864443 643653343 160927834 272962076 900648294 939127080 894688447 570403516 175741416 386399434 543304659 723657402 506948861 245522952 331990009 754033603 886002936 968400020 257845291 864684082 359288531 805795552 298195281 704756437 324118094 671810048 329292416 632799413 898281457 579797521 642839691 179677668 495034037 185677721 748363018 959511095 334127774 213462596 910704596 657520837 627605114 401232390 533200872 203785993 575940698 964225245 870950359 512075897 148016025 511267948 326750664 816763743 920350598 895129486 337279424 941166926 661121477 801392386 914955469 436848345 245930360 500918099 443895829 473085573 301128746 676710605 864981118 650278932 729216270 742410356 788543677 212669058 259523390 553620332 945494089 595980633 703698836 161222842 144919311 789258350 907695645 878771559 415044301 475631640 228412169 411606085 919386549 560805142 985990074 112125382 239054917 357131217 979287644 368409127 348907604 411195783 890432110 769767622 970971917 158304753 386151697 662539138 166470855 379490242 693974462 351689902 200858986 673884267 161363703 575763813 715980377 319163524 292861355 569676565 301087459 745797226 375424679 229423140 505480730 263421557 518074678 720767839 161138853 707882332 746875919 603981928 426603055 970573851 955496981 263367938 357515055 720057455 199296539 545145209 907173253 511063554 667083346 597986274 314773889 249126010 714612549 103882740 749627572 113119696 830831910 378980413 612825309 996275764 767092838 905996979 272530930 835976843 992804018 208711981 205136099 416534175 373534856 265629978 694369151 864663240 152636088 884952809 330152947 752067525 803726265 350687211 317798869 491695044 261045439 532650113 828208991 156994225 609471173 126838997 100321697 492452969 221956307 868345775 168632712 145627308 801672898 612072268 784438124 365858860 947679001 324562082 592112880 576928787 201455027 411058965 629532726 962576070 176014211 607030434 671835846 919356116 892544742 638805295 787246871 501022841 119326171 975643848 938915863 551745283 791605649 887855790 562418934 260094998 754905587 620341112 926476455 466874650 470301310 934442976 559983458 242052559 886054938 415958647 827483242 624535848 912935666 717975695 814542861 891036745 634170925 877989231 116157284 369181552 567679639 198219204 534823370 455211537 232166188 337731520 802323694 867839333 242810541 836482275 444835971 726699335 406193148 821594613 769329179 528350988 420345449 876968993 993356233 644395980 335594560 875971512 379032673 939686361 225198922 396742171 199781464 914014092 675265594 913805383 823640534 875031090 336241283 434338385 668865107 738582939 178568563 125098425 966658948 426040718 837530436 382824091 756104501 340263975 310798915 929854687 620205716 518399297 623158341 409040356 751195243 206345204 148481762 443902050 948680991 992145600 354334515 746996536 577739353 680785101 447775758 652018800 727809650 588596905 145493701 394953088 229259452 207104314 274197339 282528057 567606331 555594633 160796718 369069874 740254576 405735087 711390001 427297054 168287581 946307741 227713368 417746688 523761905 160837353 224618228 866801833 857916357 421838266 291086209 740559783 529625632 944725660 331501065 505179859 499032834 451992204 348568328 728274961 683575244 820844868 276888590 358863141 741396264 917703853 603431383 974874591 685552749 217760917 794442134 467005510 254489287 856494729 274955430 698227112 239734754 199125889 346716733 353777899 157065317 389279879 620228327 932313427 655729303 996625571 554070347 696174415 224818859 298152945 225063159 992005506 994020103 975382048 359407735 399783442 770241825 145558034 652542068 563273622 830915411 824387335 932049945 487596735 803818108 233750799 305216050 758921283 706214083 177961330 656202535 824691481 213104502 787323905 260674373 824455284 989454707 878097178 722771274 380648570 435954301 468535548 332860892 938541062 597370069 744672842 972698083 428813811 169436945 696526805 584348191 514405622 348236198 659883795 127387569 891421845 583399162 953101537 814827054 370831918 787838583 590393338 763492544 594310123 370083475 518658043 224012147 907645454 168393689 587725989 538679756 304842208 317821939 753752853 534110186 510844495 114843619 993154975 974823659 255926351 795186724 424663502 127134753 441535119 838805981 845247238 237114333 102207375 518911327 490808391 515164815 621999846 321177551 950442905 425099264 953203513 722187711 280486467 789115097 881070787 591000404 489795991 762615481 698920570 552461833 498129925 491611949 767562453 642545613 215065389 955857445 481056985 571241047 981046648 416571318 118639594 201645201 503175411 937791916 147186484 731755254 990155448 250804135 794307764 491192510 400058625 848051534 901119624 257161958 555921672 727726662 835055091 460122245 812752544 561468423 165452936 275256172 669056370 715380323 468005908 173784404 688427136 887359308 401981389 650604800 888185050 397724933 530081662 497349931 872565827 822300767 312362248 971313642 931739686 556661128 490037226 164557685 956082747 803053148 316989399 726995533 894459726 244945734 446309458 578833257 416042005 637301406 432410476 191754743 276989665 625279910 772929599 118886322 867072626 620144468 545273292 664680013 911266092 978100911 607912161 647446189 214526726 989142624 530497299 484693188 224870185 453638576 560202047 967324184 238163996 265756579 617915332 366531537 556453730 895948140 783050993 323058252 735869849 443829753 514901990 802960968 562660117 251089824 893834717 111688419 550931201 676777613 259908010 546194293 543451976 983912483 880816095 107575177 280755946 421004280 303803186 666460671 263863322 404665753 669887059 170568410 123134027 894620587 360574957 352185379 821829094 840367666 468432865 143541996 260903160 850026584 268199192 733425349 256609625 743189808 732430627 218461808 572992248 198942224 240810356 265146208 123248113 115022941 761715391 991983714 785902305 216322630 392656243 295810968 573321876 487835264 680838247 742066981 767061812 314823279 492422211 686428098 290842010 781526067 597352472 602141296 764133179 472526312 620002441 420476822 223380459 708302140 656403147 553743600 204472327 782995504 898397695 551384320 710083353 385767767 774682639 666490899 126244124 291110616 914325970 272308074 552463446 155097889 365648693 576513281 802269441 449622796 968637940 733619522 255941751 486688191 507946061 491547336 316184436 954677469 112574868 984955554 476862710 990707734 579487339 169478799 155773349 395894255 441139947 304940128 629596432 229497617 316554579 297039030 266422510 672538796 990980330 367048182 937399040 560132478 743430313 364291352 209785662 768969349 656036025 665333005 715294207 347625384 347244081 922730584 546171001 202077550 719183760 704520440 493837913 764550393 146198142 252201311 218780023 251083551 545828881 201929589 970172766 864536574 232693036 215119040 487589892 699558736 560380914 784389970 483068144 734838571 944398951 512730105 244656577 854991792 507751377 895839177 434983038 453996844 100125937 353248640 115569664 320161617 485408955 975142218 423567571 320157687 652990554 975045518 620999125 432209835 733104557 676646030 636716921 386381515 531680004 313616638 637711786 896758008 715025381 227013249 728271824 847429981 774639296 665653184 377000362 163052768 341156793 569693196 833063193 432158170 196340085 544422832 393725422 814059283 904873664 692098692 690445628 347382852 227131833 415030682 867829516 617757280 918042676 416193691 256905424 568163094 581658308 668423269 839381602 621148308 262443469 358851809 596536068 214605267 672104465 827387696 258028529 707715520 621513298 344414246 893713160 451116656 694513805 246629878 160817848 250620626 431182341 937080284 986111180 792832476 451791324 850815802 950159850 485832621 366653253 333241458 281079343 663259934 204070134 893194862 999035017 987827445 141077252 940682047 875139953 338684755 103201187 476078806 644001677 858678589 494520563 749079091 386544885 236525698 387271933 505702505 322148345 125699247 288054742 890207238 850867049 424280128 609234799 698213483 811874193 463238818 387555365 140176171 660202193 405410193 959106547 571853930 619071254 132413967 825145303 737247123 130727711 343841487 340122780 329960990 664628425 825262726 163355150 471684874 560597754 844919309 147639996 297821960 247538033 808325528 101843523 994626649 250622313 476626066 590367274 470338150 729908500 638745920 359005804 534199963 710074672 283407711 702315695 494320555 786110896 287008808 307949006 492381031 120434507 789177768 534548979 904065651 815999195 748415955 617767616 482763628 678020400 138071588 984562091 365011820 592549075 494094128 252755683 214272941 302125357 874048349 929862781 570103740 521291677 830394201 758180467 883926667 787768040 105158882 860713147 737861671 768745271 179061427 494393112 524864774 806395439 519328007 869366480 908689469 193307290 632872543 105262316 225499591 489413754 631341476 580718493 412047024 670456499 612107433 476348200 660858250 430501795 428290477 698608201 407732549 263535780 482464334 309159572 245501138 638784501 478990905 876570165 243909439 400788992 659758889 785018292 697791491 291685456 356201869 821577121 409555338 809771940 667874416 150577986 149059730 699333123 147452486 757005893 126400660 341371904 478712446 245394609 954387416 907684297 980217106 399674442 723476617 588058854 753737101 619519948 666571978 929676105 766440678 168076512 263732690 140669033 486868659 550669039 678744784 746795140 589122555 498094571 227860110 304922077 329061815 843068740 995579708 974582007 922198105 329382772 275978729 133339827 803718007 522910285 540809185 859972818 763975798 671274579 561733555 699472069 838900866 430697933 591242368 531636650 707377525 460685626 450802307 622103328 846991908 363122655 624988204 651805889 717722764 691242119 439594132 486027897 241457236 494966418 157554880 402303782 559047255 412408751 796869824 879931794 635169332 707587504 393618597 582780784 227219338 567188007 449576616 541461322 943614517 734378774 540735987 204694856 399535034 406690028 108740861 943713532 260116539 716576061 112721088 493395677 608755373 371632665 895692392 205739489 123618607 226860232 444623379 740161212 147570134 362571231 343031000 599556485 169494872 744181370 186940042 259086466 398398837 305461858 634017547 805183241 190744763 334548955 273402867 537868620 993410091 829009602 391852060 596064608 370471672 574198625 489694113 451205553 556842039 968381168 381496650 347709712 321530040 431341218 871602248 579111436 448688825 215196966 521709519 277145620 654018337 577108935 841320960 976457355 690685362 698059179 964089462 386283919 571468084 161884749 881309161 670587998 739974447 615154567 903469524 689261062 444845411 104367705 570339237 747550169 799398197 884493150 358938784 653080008 979121109 287575064 248954162 992759752 148780981 442427944 611308447 272180469 889695159 456151818 829765658 166081256 287115682 712003437 205978012 555688281 722836300 885028571 738176726 600275531 896464902 233472525 892179756 905975800 154953296 463974968 849603483 642746628 362256095 205793494 151615354 170425428 830693373 557897340 258757308 430779752 775952423 307608767 411224913 480274332 663892824 719148513 214189840 243052863 625109300 833053112 223901708 290252712 472598631 790197450 351404751 241375870 627597931 138002584 728138730 402680258 633493560 897531604 723314481 730845635 472688440 432139320 221473673 603197010 132281057 602735722 812598164 412458420 759899761 635328802 836785737 296154586 270979988 954259359 550351354 147306201 838974841 674617753 566626218 376882024 702118035 852403006 507731153 663581243 611287809 221952211 716294347 124268326 954559348 392933418 348134359 595524386 680594122 954627993 411247019 218956229 102126469 478407777 238432516 287542328 167587591 178906828 621413622 784961182 807876992 712550325 406828901 507961676 855695063 553776172 718497839 197061984 401608080 529054976 720947717 167062272 923660044 746889170 199069119 232074037 886240656 779740328 554514894 756970538 552494088 593367229 397080228 390582124 969139650 197786462 574156099 174350878 198788977 627663013 325181010 747983201 910092495 764776384 642788400 135788175 509892016 864514661 654137533 692992804 340038216 229701290 121752810 313005713 940463026 562191982 780096941 768096345 434183577 879182508 900515616 376899630 368756083 122732017 755025388 364894671 907515359 726895352 430405131 552442770 785707957 370196566 633046632 885793301 891564808 335298690 335924045 414337664 279945782 747609400 766589042 871903101 893250882 522728880 127975046 527938455 561616898 424902675 255522628 770196880 453526304 156319780 867659996 227293390 747759344 216545106 934623987 537888308 839449462 755290151 766651148 770460930 961355625 824066746 292879378 246885295 686457464 747322630 785837102 688477653 278899159 566519701 504259772 346194116 443713627 736125723 943665686 458226240 433204935 303253390 114908208 820877199 852501477 854500750 972114193 430574066 129600604 260513988 454396300 972956172 247346884 368216610 256379217 394607671 379752375 195240360 250924668 184672815 469972778 549681956 158554993 908230560 630488667 886609606 675762097 988529661 657860240 589417258 315049894 674048270 259579309 365973482 869024276 864754735 630738284 971582662 564472879 638857036 684334940 633842911 277801226 736310838 305531689 532915899 813958757 816938510 716877917 586439382 380489130 867345132 877738398 611023514 629866995 294520322 666705960 113434478 871728685 615794809 506323105 310629626 793941302 676223862 986193864 793127023 273264798 816252648 347608426 252128021 761795059 637693621 539496248 705369179 823474399 258125254 226580929 739760534 437690061 743273271 188495828 721287433 110472906 494155246 343620344 384574853 924084372 100764909 703379939 764175380 287506446 672480739 973947759 732270887 466152028 367613118 419120277 591032339 718585498 965109008 305096354 498925473 942007787 193503427 230977447 399350802 263220214 977292666 281067949 976116654 455702885 774048171 483677512 243417697 637753649 382013529 117208203 405782272 559232811 300754615 783481436 275380007 293020753 194861990 615980441 495851158 965306381 804134893 957481686 181344666 526623758 876279407 260713379 444606692 626341129 761246804 596801901 776055778 952829672 372720696 308917185 958617092 565871625 961204945 526441231 740968818 629729553 184907167 472158150 506679282 418807956 326560933 198448598 377052097 295426283 866840078 793695088 435420731 131097745 418495399 896291332 539282495 613572108 767904923 385553771 391085323 466321490 334512201 861752673 378145143 640165250 826320747 183815100 362455503 185222084 471567119 841849997 990260948 329769287 931269773 601169622 911246467 866322686 978546530 864065506 780987758 808522349 462088557 756570149 966265853 978534133 785578073 613896583 523797619 323182111 917073168 491957592 639709642 228961091 463702947 773406470 905503309 614153361 531416728 695471801 638112418 130180383 619768152 392038164 627586874 541902384 255744442 730186772 123413832 707024674 414050099 281322991 718909682 818158256 310311455 982122566 778861659 808899836 255411869 808566643 907215963 617425413 302108389 850479398 675269645 767450615 748763957 174696633 452658763 919104493 511543147 446129586 277879180 779875291 482304196 300046811 825838843 597110568 112215552 177697295 435141119 717514358 832160739 825815997 526873837 408632448 270410311 253500771 532251260 732880881 252687019 476696871 630266401 415356064 973829801 601250389 938412225 552468784 486739028 549286267 415434678 171508555 748258440 557361359 980256067 571135861 114637876 314189846 528316205 660526662 881888172 931327237 863743663 763271184 462474859 494708823 877545238 604414220 322731880 584148487 603807370 937712201 298554844 908963283 266601149 291836134 715694321 489553424 575522368 270416232 503378826 844530371 293445425 693005964 847238288 590540169 240913533 363794614 700928911 391555656 564510843 670184691 970396000 655986996 462250891 399654718 669552500 858902675 940266828 105505211 741032611 517529404 953141369 425850103 659644876 468975757 961900728 233497010 107644510 407076646 867323855 210533778 213418613 829192578 115398112 834870719 891978726 811375099 818991692 173569168 483858327 510422116 178433214 279098345 620985555 587143665 104404257 814943836 865357888 505317600 286170851 906275774 707234870 437419085 137739030 972780266 929253600 895290964 990706618 778552406 898317583 818526142 815613432 925529643 826196965 473069136 303982459 303670585 759212972 945681826 242433450 542847007 213632847 796819047 938262005 153345151 376699925 542043513 752376379 243780929 315295143 382125969 321881633 609071606 316342191 195547714 279624116 214115928 988328349 602851444 722967966 981622522 424702027 267201721 496675652 867921747 673459058 317847549 189106067 276410990 967931231 657115277 130469512 403037137 745235177 301642202 910790277 357914789 340858176 321148377 267758235 189254540 647517489 976335438 309375680 508646887 878375565 535887049 520152697 711614571 824262694 200545547 908415467 199389813 765695686 674167840 456879915 224675663 734280496 408260201 189883270 661873055 683108081 801737636 439662079 522846341 639379484 173335833 206653483 203640448 896222928 992193762 743223626 459228923 619804349 701939112 201962650 424322359 658966535 967936957 825359023 734417678 294634856 718635781 419523908 601820601 292407518 766238398 770024945 438099387 605133116 855632094 468957797 132058177 808259423 654598182 448406366 232647349 884575840 172236488 613787712 707057876 206943983 833134078 974357767 639202648 755236665 971362746 664594345 944461560 204178844 865499420 523750368 843296889 365308206 432077693 702458969 104362394 433781947 903864026 494154053 619524722 967448168 795345711 156754143 607110218 568490646 547678643 967673290 396017284 807325389 107200888 207356677 443195167 401671219 257664970 312655132 905752818 152511639 658101958 551309907 567214425 765177684 662473585 239194120 252489156 272689772 215489445 172844023 725761935 355096029 942444481 979675610 255453328 365469349 644208356 506903305 259695175 465546416 156461277 861188838 679472267 896185632 207687206 187040120 601125342 719312699 627523416 505949252 422279024 878180400 276932791 244473094 786080915 268417769 106962143 922477366 262413262 953245226 373881090 368186832 706167968 193836432 820680494 283538944 758046466 183853964 213348869 117839121 917299693 741831087 402295865 681789190 112737883 536402918 873202878 856038313 154985604 125098323 723376488 418836611 506327458 762214027 387735828 922600945 514730766 291842237 128449511 955100789 409915025 316271700 100279169 783603255 913142300 845884349 490864191 238196213 366310387 370470944 177551740 977332864 957371044 779649791 900186019 366364484 375538145 854834791 127156406 191211730 949421404 525692807 884662676 381270503 474935721 984859103 323001970 142994074 433408517 840552324 344236146 283592768 659796928 736182964 445614595 460298618 751930718 729310528 346389546 861948153 314339231 499729598 839782963 715111562 295620576 292393244 868090240 540815127 899374810 476714162 715906024 729119121 903456970 745347058 735114220 994236209 690623540 639252970 995863538 702953244 423092440 536901829 215725591 765942644 687359927 797741009 613577055 697607785 539698400 305484375 979960860 624774596 665451188 429027205 514042884 571453064 624978177 524881911 134097161 330542585 748457906 593833850 611835521 755561779 393661175 440661750 734565205 724088119 632726849 397699554 835387280 348398916 885533466 839182983 857236470 811296912 102784350 918609536 493273088 770192881 915074609 436212262 476600480 936548542 877022701 760176409 847629540 743945932 556600486 168611280 163479759 238994956 738162571 394944644 763178884 526024848 455363058 896043819 763862821 209804305 461241150 493689227 381408700 588169439 512293678 722481213 186807930 812120089 264316855 231393899 188206383 105957461 918523868 105295516 222633271 188905681 679470118 469486703 905194058 496795067 998360801 391566048 701171611 779912621 150883763 976202370 397921849 822370318 383193994 455569003 564232359 487492457 786576198 951743107 727989133 559247577 191965303 491125746 170689497 795436234 420127136 874418947 508225286 222272011 402716385 256640963 576562641 830638541 825259533 512208022 481287977 447117033 724573641 427099295 253454666 136469207 254044211 431232222 109204903 165867933 923340868 831258280 106264620 310087561 691890511 795799020 608910880 864320876 866488764 932379986 896278199 180225404 647384657 628779356 372137006 468587092 181877255 446464058 955269149 380472814 511702915 961574565 616992592 411475500 171860969 864964901 171146073 123364101 915222889 212351804 667012066 999877466 506384843 542251305 330106639 186606560 116087449 581334002 541960007 827292184 737922770 836302501 108022898 639556329 146542791 856035874 904338427 954871614 914615652 962371662 133880232 896702567 617524853 153859461 175236455 258050669 320144735 441022440 237144383 731214682 700758360 657865285 309432318 891611638 357307685 455656786 975290485 918845517 814133198 691406643 505082309 956829282 790259651 693628715 494356484 271080136 269901242 970943505 600200498 201259543 862613210 391489021 366471543 902310181 366746077 618555743 901616033 232218161 392442736 437132461 990227444 371649341 253647448 607543156 276757414 938080587 820543304 781534611 795311551 331394581 231090501 645894237 553124871 146443547 468753713 521390840 404195598 863890956 111206876 824092734 995956119 494783068 245911996 993422451 846877556 985623533 395895344 335874099 828429565 904888288 935035437 301883360 220008994 325529877 679428139 271003786 338421165 606259725 325892253 828118107 316173709 485028346 620595583 588572781 350277044 395023401 628003175 643423248 679616099 649193598 253620743 364921688 183685376 339368705 375613626 761352740 411440771 144463705 398865199 595917550 706781362 246932124 521468812 950137256 595796705 648885911 841454563 818755876 555015307 506837096 509643639 697145580 890503037 767983667 201094099 456119885 639040460 977819788 246579548 231806762 178964886 899361251 448904095 955002511 607569534 435078986 805337077 488485233 397544139 451124318 686436118 285272387 789659111 504962522 780115889 338712396 591340759 510345624 279730667 906388688 247114476 271987883 752948388 135252415 231655659 132612200 606038842 796538714 678151603 286384215 672831383 786270961 442808103 123969595 592073473 829152162 210696541 395911459 151097868 575640178 623951230 965497259 948508591 649314193 649765768 555656779 254365111 502083209 417998364 193140534 534901556 861407527 405340970 734880710 718488169 925372978 910847662 979247840 542503374 364903833 624748590 550330222 443720629 413621951 774879933 747099658 671870372 852433781 340554712 541106643 771859072 126696490 820145977 359341444 545026081 180700142 250153764 914533044 478929577 839231195 287842642 186416131 429857349 177155658 381598751 946710240 352793981 883499150 244766000 173177303 164265080 657332173 510976025 279549612 201156365 557444322 209133864 308853516 403253304 860410417 431892920 627596267 864174883 448117544 382335036 335267001 778721408 610768211 529482961 910331762 719178333 624907667 426668883 317881797 137915828 911616557 349636841 496437713 182958182 677623458 822168429 744708764 669477920 497389687 198710044 138778172 178733546 100513764 862773434 533317976 466222648 985878080 901422630 820077320 197796644 361072449 257044253 411468581 396454529 352663033 467272745 129469938 158713586 982212241 583223530 490066419 119858160 965134642 697386396 274697320 320953918 380683135 239166471 418585539 846313741 827799793 442168106 126942236 112208298 298329175 480894456 374271588 934759910 364239913 739540946 612569145 491764991 809824700 986606715 430572062 655024854 226484177 179197977 570740636 574280368 166691183 975161206 868023330 585077979 522610540 176632957 383543379 479275436 141831179 729655502 481480787 434203507 782577636 491481226 662992378 820001405 870634134 113853589 302929750 703308959 774611137 662770127 973251894 382113474 924252601 886246611 361466849 111617886 796930403 285472426 683110512 664054301 219511301 856809467 984940778 174459867 735051973 919890329 608044441 398142864 491708358 696767565 273804547 863198730 101524387 353402410 239260700 108291484 528014939 269320962 535422262 100589726 649777033 194688989 528139630 137119307 226336557 986014470 545382380 910197263 379142816 490220872 645555430 276907481 655487925 836409480 677518932 355178014 983900707 566711148 942331151 671656827 366419035 682083227 456849040 998257830 845799150 648282460 741043599 883715585 133575228 943905460 463177772 169537889 917746783 830716019 643049099 611488265 301542361 651685506 402304245 961437084 685212002 600261684 220881339 591372740 597607871 454395087 509056160 858208260 588949536 306926867 846064797 974554345 968611868 209804838 806497066 286295296 564042399 640609586 898057683 759565428 385719547 539152668 914904060 592009702 180689478 258199384 250289029 660026028 809614952 341066743 661226336 657830306 978070066 507610277 758345744 180964209 629002737 758370956 370700136 657302389 852887805 574860717 868960643 738762588 315516106 376924946 101323860 617145582 698509211 763034442 166316408 918887147 113953853 730776809 452469760 766765456 617706187 820473819 331454619 370866526 935005144 817484975 350266278 674577638 196763860 400474462 118008563 982349933 719784126 965467800 478168019 726980413 314163367 429321169 601021218 896455460 282546480 186607901 286037188 930323149 738472260 896133761 463761640 831945510 912445068 643948119 385589410 436130542 881241770 442709569 109614110 477618761 833341245 436362194 378447223 984623869 569536985 194605088 365665872 775743122 573535346 583063795 484642371 517674713 760129297 392383046 449387575 727137337 677328774 793690638 909601507 339133382 832213479 137003536 561102630 980165050 145061271 163235342 203383033 748055054 272315720 650226009 613452345 231000081 941522053 210233200 259562349 372788155 530240146 882274873 593647949 875161829 984791778 245626857 276288776 689285010 980731574 438343336 191327104 741410211 537184599 729201423 798394083 346394998 771726381 474339347 948370069 152260897 627877938 275319182 459967996 967649292 319081346 868450814 791212185 921774656 868002949 945720177 592754088 629843795 218692711 926022400 837884698 466979144 677745345 785735714 277464023 547540745 757972146 390239784 441745609 284242948 862823248 170297939 891574632 877790640 678441106 663264805 861809750 881376682 132217278 299891349 226975151 287768587 936609072 483773433 529471634 852037350 421916665 144604982 759690558 688358740 276037024 628210676 470785641 439718302 661823526 885670907 909003914 511305099 878132393 271200056 857327926 599333833 562744862 990298989 156880792 508480432 498718391 240745610 546229639 106335795 455886495 603274821 649670679 274575212 374800481 262532033 428303491 938370767 429625993 129912589 793876822 578791889 434685141 904191402 926846234 671826899 430858391 951988674 234042517 581511317 275869750 363353693 349416443 904938092 541189013 814350166 241921619 142195849 312459975 767045772 350871559 576959029 935179481 186683549 652176998 601806841 863422896 614244654 643359278 624593350 974358852 884213182 343705415 636240415 209466154 211152964 208669755 530450021 992676339 295307351 715673237 294848501 582119022 390203248 390906237 872502836 868903975 535706501 191874410 111863998 382482459 301229391 999069162 135518732 445961924 717318523 723064629 444010527 307695475 337239596 152443376 703944189 616690644 658706112 978997423 465498413 247938010 423285563 812224222 193707194 788048570 388680064 298723255 127622117 113932277 334448844 553461406 748237856 338144530 636895411 809319097 986619548 510422942 203458278 977185540 483274675 497820367 304184370 808928295 973581355 521357020 166860509 711592015 235284445 932555308 757165776 695517230 928776454 956137048 660180309 890601763 501416615 185401266 732632405 649561960 385871313 970052228 259894751 531509183 375565044 905900023 766840732 535126716 442958990 822544403 933755923 351566432 809600273 187475244 361759366 396525467 284641550 797437933 713309556 384040761 178855757 195367357 157091838 161847333 748366878 394910425 879470156 972663431 140519117 972601670 155753014 711985615 970070818 883145476 871536461 613959003 728334001 554750592 353162820 359446612 114015097 631023444 471027253 237696406 333704300 647186672 614905213 685395905 345887835 682315921 540453012 550937075 672569390 140022205 620021212 406427281 250172040 204185764 277687776 716760588 504387925 967592109 632857492 126446055 437330198 387834667 533160795 385688093 308457305 329061670 963001891 547163056 203727365 588833184 254739300 757441155 741921180 805954715 261711327 547114850 686863886 882642135 364927293 475608815 630534838 899651770 806819847 410548581 300495498 245423677 830201725 489844290 589421105 950886640 432874205 252186298 680844488 675686255 930187488 812878765 299983199 600944984 821453898 722516346 686892448 954062867 982707061 546608623 810028095 218520571 185815013 101043919 188791160 578178641 279135864 180150899 836824781 909958521 603541725 302427209 428613691 935503943 325025078 315328233 648592374 160281225 570335804 131458841 237459881 830291881 443077987 564562782 291267657 594386778 330230847 218996731 478766456 103336517 815921177 176136618 266147707 817227656 395185265 437152776 424344431 997979929 870513535 667431295 799812371 810293231 484392716 133476367 311239194 454397952 546566077 363089278 370190908 165989730 637341179 147715962 358162009 448507083 489220479 546528501 126292545 103913596 976003822 204676083 487820165 695783156 741454236 604598913 794037508 298859758 567016887 161124878 309700833 197652017 149151810 541868987 947039262 202245762 510048345 732466725 183923916 358475167 293512917 243450503 607311675 124643531 588419200 232844203 649767527 306177817 917295244 556891641 264344858 888973139 323827694 709593296 921396002 677116274 315271939 933141917 225462552 598911149 427224851 453233840 565271960 379348441 812008165 710582898 301307742 598018039 261524460 520957781 258750462 883869093 112185246 187465714 917912965 849843703 587239403 704021274 886122953 150285979 201487621 153330022 443877462 680434284 126686711 798758016 625643310 789347307 485980790 442066927 183818538 297452509 484447274 544094321 544867562 166651675 174461038 281185019 167062741 785250098 509124471 213955042 166003639 577636368 616419805 445208970 417890873 164159774 414261591 201972515 274233568 995321074 611792892 211830316 464597357 130876128 405722437 223596524 473799028 324089141 854361405 371756075 864438277 759275143 918878965 849477912 430930367 932356347 696912459 552891344 722308324 297425261 680713258 553992317 749075962 218221725 118921068 940823487 765328145 741763851 223583995 485188453 266188489 151480418 529185797 203539310 732298659 340115776 207451398 880583577 516914603 461362768 604382482 506549800 870527029 275811591 813519877 623178670 240814430 341951848 789178650 611283133 758869589 596171997 136522841 214443922 342848020 844239395 668245869 914248816 854656051 654670438 963412808 615853320 955934708 312078466 873286068 766330590 701891745 159654615 289851467 689054383 724841431 377534356 158948582 526956444 418981926 759159740 619424508 578310272 921670550 141071819 892524507 958476971 991784975 668412021 192858141 797552293 323649006 821058163 851060853 428974513 129996419 376588784 457248162 684707751 833841517 120151943 688434764 968459035 149301137 612447164 992676776 986689420 514171923 482542512 693815128 123798036 554671950 566527625 502021048 997155366 142352726 634654616 813524223 109465416 465819097 496640518 556568928 607194526 250506758 678168298 491897288 966472092 247126411 621375482 915113979 791495709 544315955 480683314 870256733 161576058 114145251 119855867 658468290 995260156 506978092 910835866 337904323 705053453 114416282 985394683 854032837 166735116 455729644 723239978 256494912 257211245 606740744 778959600 885985386 342980361 129380694 772213804 477540206 669626543 236842859 462433832 401924007 279964656 454739116 688047321 974522807 158279676 663847054 910528801 602142491 438622374 519217179 536091818 407423043 760780181 769459692 913388409 333311487 496445790 392968814 933659145 208886879 395254716 672403856 169090210 604433504 157893160 511395665 751523731 300974526 292976977 125041358 310701874 988247106 983388294 933561835 302179756 339505279 242490388 570439704 514780532 126897174 480543837 512536177 624170643 912314542 316875868 858528400 761198757 802446412 877311944 906820285 713867293 134181807 632131317 173380373 141395187 144171157 934213273 466790904 473024333 860538589 523639626 845304630 613472032 547766472 713446624 308449342 623319236 925862085 528072967 997562563 656093505 150783955 260927088 457863313 787746507 683065430 789862621 574119942 133280526 746117711 980972070 127119013 696207589 597616755 404639853 670959621 953776522 792001111 239956464 162197329 621780774 447307928 140887665 862911249 664199409 473542197 429055504 802114432 799574782 282707253 883484746 379168193 449705883 761772666 796828763 653463508 601278094 756200825 294627933 903246773 573030282 408328018 785981021 606069434 472040735 107508076 212740430 443901254 809145610 452234864 438923172 484985628 769794963 795401621 806052245 206729118 757506954 948682934 922070738 869505555 775301492 558501404 620665720 606168974 251473585 271865083 990342869 712967170 854913392 173173272 748333516 649780807 898122302 568291157 489615585 947758552 591485166 408024647 475938217 204287280 341250491 805125590 279710871 145357707 959492587 316661285 276359037 720388594 436600404 367713213 210178098 651115797 123105430 503176883 337916304 881083615 449147223 446170067 255232533 761715432 593421299 555443075 397183996 577574711 109253975 872658711 704706894 949887709 644658692 246124216 347224869 664624419 516058368 177142885 397976105 587874844 880750416 673842779 517337785 600411223 748999683 391698101 764859943 300831791 466606869 392923822 222683009 343088712 823577748 315131596 683725894 839537665 576331680 309502988 936259595 445150058 778563361 190452121 721046853 922117190 177243057 520512160 164778982 314537510 986937699 410673679 925228287 312576905 139634607 830742728 322417794 666311147 556446691 227347995 238411130 445477957 955882820 240102505 486371628 599358456 962125076 923806797 617715985 583101657 850992870 433778820 322289770 251196295 402189060 616994366 734417648 591743302 908578566 117555850 974071577 939124179 654576493 994384717 131425453 915980516 276515413 716527365 527715165 498374438 494843686 764013289 512762706 371578020 731694496 185078659 742274142 473799819 345054708 293318002 177573149 464368988 431263169 334545273 535748413 850607968 714300211 562169653 787041619 781709260 568562027 702882765 959785117 839363236 555115169 691037780 411259554 347776638 775516041 426635038 381229139 969400192 863204517 591049996 909121501 160838777 656738548 165802091 712087015 587616297 975569013 381299270 756230281 591596131 343880278 666054649 847884222 530628831 946168970 501650334 321048077 170162148 773478862 969737958 666017632 109758774 944125332 615147403 366287641 622835048 226818670 282421738 326607349 452211554 564287887 856946098 980985123 507556760 122137036 425188990 391871326 165780571 245346768 125595282 427038676 137652356 289300154 928322708 403772452 173807469 429032019 592320993 987901201 310726336 624917573 836341110 821966474 331683673 292430359 194545149 436583591 740295271 223670219 748741126 335910654 565768706 793476536 562349346 554327214 896741345 944562771 148126639 967433922 371478143 147852308 363997306 192110001 909998861 353563715 784748857 786590782 439102060 213627619 603302456 629784911 223459251 531345121 531850643 816389166 250996258 195319784 833243978 825885487 494745330 212344751 162191250 308503940 774515830 497684605 781864309 768383998 305597577 500270516 818456567 319446146 265284773 298930086 285252995 209199919 272870886 293949834 882787360 231693037 880367334 282673637 315075209 165768582 812370271 143452914 907715835 754309137 716328785 801320651 182763164 105329273 261286280 698012093 856481802 464285522 362412154 358755213 471452069 633592683 680923043 926429310 724580444 753196892 665222548 697785881 391541187 302443407 383507797 816339328 655266841 814945530 338250992 454580235 811067457 403038774 668442768 664464207 491443826 975291048 187349241 471012749 286341732 881235499 612469898 625345394 674380142 114659890 168333611 940024216 395708868 899165570 120010965 522679229 229263175 389339438 391942258 983636049 211775581 457041280 101515257 694993837 503831681 831122936 104423943 271490597 491804603 681977545 440234608 619605984 880099089 161299341 479983901 184089748 476252639 921351484 278925907 312684635 971323707 378652453 232185818 373547935 414686076 672246692 111615555 638091813 875965031 251381978 662905362 950945455 761801337 554055988 122817120 910761212 664683162 744637986 677798860 944081007 414967673 838170160 196189632 452520794 415027004 463836429 351471808 345846486 164934608 811746924 262469518 707830044 435951557 716652479 782633670 141169639 951879399 233157977 541292422 557179806 871464664 966948768 951938258 271574004 493376601 439108868 273093754 738280459 752385937 835363404 729586140 393481470 932051306 273472676 145260462 633797746 596686716 552988118 509155808 824086964 751922838 222591495 861050797 849746830 722809965 596926981 101443797 382327004 694944418 968550953 801718779 207437317 109290223 623073548 100413729 524009627 350062639 698263345 294061866 410553229 726434894 366837415 525386575 853813278 690017242 126882513 162367012 277964063 665931943 961938128 896263265 787431899 880954428 898422681 722195937 930494375 379396570 886724312 906530858 472740909 310282225 802477265 117061617 987988913 281336071 237990676 398138613 433644795 789140457 845749938 761350142 531384366 547881567 665036450 697558210 973399063 321078548 638671966 613325767 773349478 861860024 828226287 413517030 748362495 543767747 478933777 160546233 824079699 605653530 240121436 943841215 941562079 745656320 115267983 348991446 919769123 621075323 455963993 994984134 484256358 686248623 895542994 431620463 252296999 443523314 878416590 833282607 824333922 898986661 864696421 183761603 392842519 804295282 301132726 950659432 227140435 183704787 357842905 537665459 244456995 917066365 241455463 286323077 650409286 922269724 374155229 623804976 556318901 224138914 139657664 817728769 102096537 155021703 493277009 129421574 395065951 412928867 394669754 557723354 188148451 569903013 960209813 522266558 952848092 733408597 545329439 763871921 799158125 648357724 838183749 603262481 858457254 866927292 612099198 448219213 185003041 935103691 982419788 905864921 593254563 878708213 337423831 986371890 192087415 270755855 315741415 511786107 991824471 126753416 554645043 544600852 114980732 762565972 776796524 721262746 753890614 970069087 965640784 878205888 276611832 617231743 525300458 145528618 709761392 156729300 223347020 783310852 336858829 913972843 839482759 521968170 566720639 877131734 256645685 275966234 830497444 305871612 856676804 234504519 145581119 294982384 588509520 630372801 652300172 769938442 421372699 827964022 229478747 346223983 508416855 585582030 587672205 858975424 477455081 890851404 522490689 422374801 965583794 255019085 765450775 186634064 884571570 910824606 143831044 389056590 720233460 177499691 205819243 354782044 290215022 658984640 409485113 781170358 820330374 446841175 172636050 500462202 606199743 359741635 496424556 656287962 518491094 886756602 874834931 162596372 422084648 907655004 230938868 370558970 870033598 873807374 384211349 997202289 668501056 921812836 106373200 411727496 935661038 440699999 227270472 737956731 509380170 229416751 146517479 567553520 929848141 203235102 184548214 515137360 338530785 386414158 984680464 133266293 650170180 491598977 254309814 741188538 937053753 551480421 252616872 611098501 224525072 283107306 771919070 468156325 653901830 645054408 242451773 879172898 480555124 767113643 719174691 188008143 798867879 109003664 514237997 695654677 310517295 607926698 417239948 134962211 356252284 344465449 967876977 333893232 227744450 490151087 163595460 968529962 212278071 880847556 380378299 899073890 147091758 362317873 117610802 628371171 855979388 719131898 508061103 918739242 231398125 700582610 309358824 581296858 570791794 640924602 280661878 265521589 704159713 122972713 888190509 837302135 733831170 809618567 536275322 994552269 517696022 955659498 970469205 448783683 563828217 403859929 336059579 243995494 324245961 694080290 634624486 989118897 674939578 440583396 170303212 262178468 699139636 581164682 125812218 992619120 888238830 327204632 973328857 396812234 243934563 666525263 269915353 987013092 685005689 189720337 251266158 811830711 457012109 629530411 944245442 178985271 771592284 433602185 925375603 128639012 975716235 147872664 174965786 242630938 611135271 892577155 585637760 828171551 476128794 668184132 257542882 150074237 407250922 222529830 227000136 167668056 931531630 975061203 259876869 370794001 408267978 797342704 410534985 311160374 539011373 837181686 752322455 445908125 518615295 255701375 383872154 700358895 320162978 129531673 225498176 579563216 714967640 945066889 727176190 202770841 297238713 768162744 231931424 168795596 182527639 693434761 297803291 607896854 577109355 666634256 688431489 351894391 856604139 571383642 377047908 247951888 619148717 640047062 459358802 913365146 846891734 365871815 993039779 505470839 235708936 794217759 901353028 406209358 534983600 214111568 901336629 919268580 557428307 960248192 876690371 758944279 260183912 838106919 372568909 377381459 602854256 802001330 426247570 485915329 705862167 472077540 596921822 117322786 751994451 901029038 772667335 892707934 817284718 282044512 263396533 938679519 824452239 595210567 143322249 277790173 302601784 173298700 740213847 126196149 942598411 940346255 537928656 455188463 124540040 674944734 214374298 882946266 980164452 720710239 326001572 217779596 500431544 325481465 123726868 119553953 938126483 167148240 916954277 374319776 729263847 732311175 976313774 507729389 569543583 580950294 591863784 726934863 945008452 523478930 128748457 856301438 240918342 970232843 979340756 563002495 646688114 561258943 695940603 511399479 359198350 759586672 357713998 303291557 158464153 230551812 167378595 206670697 512683753 314039742 901046629 652748408 898677019 358190773 194917486 770766148 589983258 431112683 415516215 730719545 956265238 220490013 479244247 175619812 882644374 539915680 480068289 371945095 360375203 538016121 924219961 923891118 275036199 238045938 501221551 628615854 282252847 289635510 449462390 727696305 935651444 339870403 943407235 896603933 236400877 250146123 535007254 636665390 527168342 855130272 168980416 325153411 264883254 513492607 826717098 917948760 801047142 790380237 535889991 750384152 701230591 214037322 967934179 122704331 821420082 328907870 468693141 864411213 901059002 678316856 634272997 514014881 334294313 695086467 576091994 740319355 105532910 883047553 325181607 637695095 653569625 888355118 242113888 996277726 532848899 910300883 483730372 521475758 519902184 853066058 251224888 744026210 997020866 239834796 966337530 561537251 666254651 866217089 601785347 772866037 490453446 494559662 208953097 710729335 760491136 444133799 409324038 794382232 842304411 399461033 236669599 506537465 246835707 708055854 550963172 452389461 591377682 349045920 869770247 489242182 919422630 587738250 569792291 198182488 649516500 453028860 779640781 137008956 926073365 107095551 749590285 273898477 958859000 473122230 764555134 994498666 954878256 272796449 363468496 576253810 719131009 613990383 551243382 756361807 458235683 503169689 778970964 279085616 289962350 449932725 569212439 171514449 702094370 657264835 305773567 242303304 428577094 889414429 861242983 867642010 227282483 358967424 571550005 417267845 556853413 223808358 859080920 270393222 489435311 562260511 340917574 998468991 156563287 909385325 925076181 449682313 511522514 808196733 200582461 755678158 974766072 821406347 591342688 235587109 309007894 689449223 253138744 599523658 864909102 126000198 289604051 797712032 396551162 579816567 681754794 610414369 807526391 366462043 986199851 439432333 639039176 117409235 751830053 410069771 456867293 961463426 443934429 631135714 122905363 454301059 783293878 924610235 362107865 946411621 636809510 606967103 414687158 689890533 363305222 855650632 583686506 682835488 837821529 792530922 213093096 938262678 363824349 426625286 271591213 730436715 768834166 827537178 280235201 203280247 103968497 472262117 313696954 409605714 618434559 389404988 312732903 555909801 220221140 398155102 229199394 767225897 859224067 218696613 946552770 360700383 575044099 532654288 562805817 121858110 859283578 909345663 129324917 753453709 343124140 397196760 553304456 539989086 717085510 562030764 865069357 753956059 837578962 854106131 115029455 754137392 131447901 117061918 198722705 367295816 413497463 992908148 198521541 394604135 502519738 351434261 871686288 429663907 249122695 285196301 123867396 941310821 145278958 632156978 732863868 635360579 930362934 138627732 508593796 130049069 462907591 973803244 125717898 267235090 292442333 615583307 701308008 722239634 412024091 653185700 628977954 780345268 590541369 116427038 474304472 941835654 111022341 635383238 239079268 754684135 796586870 539994958 431517851 898649666 262977964 473263279 199660634 570690199 704977640 624202111 261868866 842028447 148578394 250926534 387854950 743691004 825377727 469160821 458239740 445127410 572757980 947789300 771287188 396310473 258460564 422957653 572647480 834238617 903241226 293127010 528790920 198209953 407267760 928031640 742168836 952632491 505255175 428936393 473095998 274170818 652971899 771647193 214121642 865580057 118832975 399831735 638850654 747217826 960095351 928732883 960666080 311141350 720942850 529673676 169824655 648768459 227630856 837680872 925801946 122736560 854021433 576858481 196574835 133636719 333495956 873516679 620438421 933522522 229872948 748491068 213283522 593393326 607284738 317470361 581447515 539089767 695717449 618228857 422110979 810439717 958302461 223512959 842475285 103866449 713313649 695668279 670504746 295477214 423837519 204750769 197919290 590975191 722968349 584051296 484254870 963171862 286411145 186560408 495180799 534400894 771697526 667452175 401679144 224418745 558841594 282108997 957025572 712714194 362180893 933775716 608030393 697157447 250905294 198127946 914860389 909004342 686227969 779211505 370271953 138679222 409576011 932398480 645242117 891030592 633944844 960563109 698100943 279667345 389031128 704466950 984091714 755757794 626073843 844050283 601651836 724029931 422158576 126414531 822098449 263998233 705585392 349555934 659238480 574009107 871508373 243609368 350603631 218842436 333294641 981476883 129734862 266935399 774483114 165030865 631026436 126465551 590675990 302034487 645094689 182861261 894693158 725492663 913306639 423969386 153254403 746645591 312317219 811343997 615748346 599802863 425428415 990382799 213264712 965272020 562017178 481878937 406267376 353673067 271312418 701519546 749450271 131467500 633624597 840549062 143396261 171350567 801180332 622540497 560453182 364679916 672622979 216872474 154494848 693156117 274956984 183561016 973042067 411180059 410878754 515741870 382357940 302497366 848533961 212800706 758296870 911832225 405919294 386601475 817250968 752955886 778998986 817838629 381146102 241103179 625560491 197722015 254064234 366476986 529132534 853084297 322789118 223670515 169864013 466660769 870138747 906357523 227363672 683110201 511481448 584033200 412696612 130808659 581064084 967428365 545987274 708096690 109434700 448205808 125977385 386801902 383053974 851017170 164649753 897942816 149844829 584342670 196049766 537700333 935736468 248115227 631705323 376579301 288700280 873510216 923682038 366805154 666478010 426950890 599888568 693499099 789643263 567407936 991497188 883596598 296996706 162011570 991246224 557191428 297850655 815315005 371530626 597972425 130645237 253099634 356804473 279084706 619206941 468194675 738487106 844306759 269397936 588031942 516360782 212256170 202864978 110756310 882883113 717368607 852525037 732502812 182713240 971308984 952939415 426231199 170087112 898980231 272969691 704173461 396471611 808944988 678220184 750742929 315859755 168000353 932543153 256016557 139464763 165203421 464807130 336177864 324057049 804764337 977626444 106629206 457116806 905272097 534665806 733292557 425699772 346556270 438088966 227317941 865716796 310821778 877283655 702418324 415748618 669745082 768051580 764855945 154052671 111598722 338527342 672893853 807538132 364375826 829423824 987207541 303427780 606579589 531981454 126611454 782547718 687585039 945292063 715950007 423187047 870608528 320958750 175377662 255445606 303694849 160381067 990192498 325599619 955463420 424395943 989676027 674346582 383713032 641524256 708102218 223850387 504179934 592923823 498356140 279340445 908370835 997449749 586253808 878090314 153553960 578002515 155118667 115935482 465500888 661742366 826449223 158028273 118713955 170733875 764655873 794366022 768387747 993241854 632358141 255798846 507166042 266990873 290029326 382822857 644606966 832410211 808310158 475548720 118096917 477539501 105582284 896839262 812923430 839434540 149415566 661825901 306013575 466358140 112452744 888161042 572495515 404648891 750840511 993985255 708740825 209463826 534696937 772303891 830774015 117937780 866092544 764126421 181625817 843256306 197864215 809062262 353056041 431364963 708869620 363454821 516592525 779817608 687453376 177029747 976205675 732013345 220763831 223243276 252361653 735337294 304361048 547254983 379539541 207427969 101904936 453092970 586531930 523998747 211099878 225233617 323092511 854896873 230565656 535635336 270746745 409583026 254176380 373726097 188678569 323772802 336760809 489806820 283995594 242489336 808025070 402046648 572212624 283157990 532133972 809054955 705008702 182171274 596706309 223223052 281691467 900824673 985169371 724868519 120481002 698051926 846918314 286958647 632514800 751881753 337564929 741049339 578117061 222584600 627482535 935861405 606634305 442710928 427819345 748552061 420506879 209110211 177600567 817209299 576427891 180450475 762060433 209281002 632031505 956056944 896418123 181193691 708812110 962857830 351348685 522922017 323972092 426449567 602152126 994302262 874971820 583627648 771729137 444618781 554388116 687520560 867719734 202291381 892166095 214700226 503351157 454528998 120658828 553270295 349710831 242460401 232451638 631920596 669871842 396139595 304631005 664052773 659007551 142188659 178162759 552716241 287444762 223213069 671458723 604119502 198954216 328405939 452554927 241916777 755301374 691271793 938509736 469786277 466576976 338837074 533468526 689784051 410944570 416338614 577817532 839677572 489253489 669585310 718753537 784150616 796987751 906627112 881972391 201986053 313709929 148614183 785715015 651741348 792450872 338514308 105455743 128751018 665067489 895859668 457987717 969719093 537471735 516371491 678737205 155402417 153280214 412658568 556547630 366798765 287466969 800029045 734624945 466842266 395085488 667515039 827267541 578937253 761755642 622218741 524040759 142972635 726808157 257589841 960328334 519831958 694063113 412099721 538623423 866421892 154905709 398716669 237786004 110556096 737098115 518495262 831703590 901940758 511109471 390656739 917394643 497463259 950652867 477529688 511660807 228609121 965784319 478719815 734451314 688495330 688665730 847518932 255624134 885799941 170966818 911821819 579819147 127087737 123182237 868524549 716191159 588860435 190712301 908590145 435888245 373286731 263769668 637094362 695393512 154921818 842161876 504322964 169419641 494173677 457516750 610915555 255884016 313448695 351333850 190763033 156197364 423272569 980402117 685655532 718704566 582128979 221129408 580980694 480248295 442787871 250406527 259641547 662232886 836694849 385542557 412330184 737887244 937279887 575276335 129103342 653160441 379336084 969973213 615566944 239800950 139951371 736929053 820523323 677780567 836474992 489415535 294810814 835991450 243092765 364433898 124340622 868538758 894593384 811032517 141537039 688989625 864756355 664086424 295698942 681626215 117179833 547569462 270196656 138621563 116374561 102978777 984583137 145105404 883729368 615072602 417621088 167726097 682242564 515931391 244877863 322789776 179070487 276875684 191212365 665320981 985173478 511186432 855455973 575372682 234892567 585288576 618865442 798339575 753607614 776449602 748196389 256726994 658583076 363629957 177360481 817052370 119960548 967714184 260314294 661695140 515768831 842970497 673327118 449818730 994817415 119361761 767720905 869194124 948068160 654863856 356173604 838461197 535312302 507796835 316922563 418144523 943922950 328458313 568282668 359526662 321877551 478869740 942722107 719060135 748522939 439109124 671400035 228668991 219593626 154866551 133046711 364364822 973885257 832779289 430035511 804368849 359602900 600376767 967423253 331742577 216479577 375993650 842654200 313217303 829538472 754153568 380088937 465242728 130696839 444198398 522533783 393451387 790678192 430615280 749365739 387879856 576011335 516366010 963157270 455551618 203840976 606212012 667595595 931087319 370265129 177429750 227246955 948857326 539373534 809531158 171554672 839437037 995496862 293787584 139353467 594803831 835813426 955679700 723797823 360521222 815620688 523869328 468623340 217646486 387414253 305056348 248391090 769401741 620567390 142957333 559304820 263099006 214350714 972103765 668888635 945155649 371962919 601615159 460735821 354148160 133218143 655845714 348181802 572428391 107041047 484094610 129721726 892657126 797523477 375181177 767517761 865275688 703163024 931541517 363481226 667531148 129180718 145562242 201343878 472056172 170199850 141216120 473098719 982665115 183221509 456022172 365985821 469468594 896090280 351116592 957240838 407264271 820990564 863543175 603831056 547590189 155315155 508545718 249743630 388490357 336835744 594608120 511660664 963187050 218897448 194635366 591012420 104343499 245615525 943107163 242237417 350333157 647750552 147759055 741087067 560975910 633017423 772618129 810246712 671367840 553206514 181277032 476572051 886159471 885448812 985444056 488305268 196878927 827270612 875130066 850879169 605449614 680814496 302957767 227697251 369823321 500400043 547141164 693686687 400340135 168155568 205686430 743278258 366532700 268412261 414885390 262579101 705059868 161809587 256208466 716334074 691065153 845639123 157594639 705329266 950789162 469426220 177455736 341970111 744743660 994051795 127639842 449261483 403710137 732579985 517325215 226392679 985255146 259904796 345395266 862162271 866510036 571118863 142157488 295160727 375697021 933121383 302789062 355889306 118944327 260666862 710233807 128184043 178922625 964377336 228273006 548117858 953083835 904205881 876013076 913291181 207066013 186226855 397284051 967403965 458971601 466402811 101451509 387080572 524037875 890648544 259348888 189284618 186244451 659004326 399082186 710022383 252481371 737228604 543727801 386538504 664886688 697871781 617377989 992583701 414655831 265637808 660492280 282108616 422260820 515162134 958195613 981683104 820099441 856073664 930538312 886053092 411834755 517890525 159233154 724319261 958964256 919111572 677175804 747743297 822471099 266065083 478693671 516110446 540785231 506530963 656366919 730110062 427135660 137236933 258757603 149201710 938755637 198026464 973800816 130877235 799235103 488118489 707101912 446052932 366950465 547051683 162092032 851769640 469281544 758502264 899013474 517570085 238226574 107056091 395715410 268929484 488930685 645609105 343541570 579665531 554733340 246276222 576199363 275636842 171261101 888195023 581778901 519990257 756243827 132984084 187277442 332859728 706007214 354409384 567382942 856512107 111523212 978120109 798883734 154017119 181116650 303211166 660042889 753039483 859016194 709625265 964615867 277055748 771306163 635446614 984481197 589173259 370469937 230276530 657069575 939233392 974587672 644595480 141082187 996560657 969996279 250439301 333895347 989579481 347500117 990610337 356736535 640903329 754847502 522548929 305015001 474584040 504217810 275679824 932202140 805308400 321538675 938223081 835312930 214233138 427869784 433195664 547028958 446226011 466675220 527027457 697386551 993848991 328540850 452746651 746195826 784218855 617449358 685976326 765044988 373360759 299974868 369850644 633784369 476846256 388051148 633701294 464928738 503454130 971666447 730294588 758402082 205917315 871591339 124372325 646637318 466050065 987826497 568763106 773362294 236954611 702087181 706297459 885839021 165047196 621785363 481134906 251327825 662974942 131464313 897460177 427291329 706101418 770604972 977844218 900326731 974826726 919594871 708719016 621027883 486649202 433735805 576253623 488432800 210623758 503004116 555152718 305990651 449796418 113179225 534660561 700380188 494273215 526924886 836153726 917094196 694884792 701106972 550483344 830561074 244398581 567317664 291624681 576235943 541373971 313433280 339011302 423853069 703368681 567026362 625572906 331372073 649088305 195201319 265475325 688773801 801736392 761856798 226167743 835794215 354414339 889285043 160386750 110243998 489791226 370825128 519021672 884808175 380330681 590982424 917842789 635447816 555037550 189931691 662879135 993984809 630477860 521043957 612683257 143250070 105450995 980285553 284616603 913953083 417616452 388902679 761254521 221157778 283290590 971805236 824654847 948806463 300804278 685617384 600203600 982317871 536768749 343850885 844142631 433002547 214636319 924991217 882590029 297369287 862350683 651640801 805901240 209146181 367310708 268536923 177859532 180897393 194209382 433109285 999139966 717488758 684574328 548355214 158367979 385753034 447327842 300691950 714649369 986884046 345721078 239665493 131856394 922376170 981679108 777132745 306157541 886681446 631613040 990997988 164759863 692441091 615863895 826717255 248585332 937982042 331912076 445810899 891706317 696047810 125161908 201391598 453223585 920054684 950608458 542530197 317227891 962596920 548114763 246713725 808028474 847828963 475407635 431314866 580027734 252527370 119131071 304095931 763799909 972563003 210947799 904028506 644692912 910223258 990479440 156563589 875526468 750526068 474116484 848833072 844144696 212370464 211315499 222391292 974439535 521533474 105240392 839127043 327003569 214345041 191684684 429469527 356708646 897783489 833174629 846965256 242975741 269514678 183081972 729019789 713911340 608609006 425135534 840184084 232881638 619351860 526528869 528806493 964898285 950893686 596632600 692993866 976813861 585702909 157407979 732381662 836274030 275574042 367021857 835146620 395583606 464557681 334915434 866412084 703109886 685257390 309902831 377926969 898135388 205169901 737322623 877242829 744276080 348816835 242516705 661845510 885180845 330013808 912617726 248101663 654853788 309274149 676302911 141883764 111669997 428939334 843194309 838301156 846375195 212686038 817185545 463179647 776642899 967974549 482758662 870131070 911511815 906703945 116944647 655867151 824549709 347861091 552318541 784678774 110391058 215765306 812991433 839620681 904850802 902317302 408202692 772588329 852584642 787983858 354116977 888173627 947440979 510705092 386028139 219348422 776417460 494231311 620395651 132017985 267015193 308483156 307099052 292230747 859228431 244508147 575523358 680299261 126224280 323149306 373662674 707311047 432491737 744204043 738859934 771313274 808920556 619935116 268698805 882316422 496415479 642436461 944504330 494735130 769673810 286480197 884191159 986566709 919803671 567016645 568912986 529112881 329830466 426754213 471148046 899656594 734215148 381409918 988055271 312520502 571657419 467941026 166342684 484342711 359502227 234555887 941132055 978257934 416235999 182174368 394045872 723111493 817944798 963496863 176123699 709646977 105725091 174011659 143043124 696505165 393988261 627700043 796311952 127437197 907811323 125243556 358717871 298092707 769681207 829629446 675597857 193008452 326910664 798701816 275029620 967472391 620317860 636839999 436226144 924737843 586004604 343593395 819312964 596335281 207692081 437363925 131701571 228271893 157217492 495704962 929242352 446857934 296976807 271525031 628679206 659648769 716940360 663630445 959932982 628768670 891297562 169628213 576713128 606364797 243886684 681401755 695088131 668120362 893990575 237501864 588283528 295668974 258071945 831961306 944613885 811236647 884926428 963487170 931560256 192715825 924861392 636560588 576316023 955999565 980655503 451344830 984712417 138149396 910532545 341687807 536459289 229086762 504514060 182787153 668991926 978509066 460925312 287285994 986745037 805355412 533093430 848718508 491725814 941630093 679876490 518519997 828089357 402253376 247866139 904034660 585800051 307407993 319577961 927276057 684623941 155869579 403737901 481411682 449050613 309843597 914366798 575038590 342516616 542625595 378997147 164932072 968743022 379927810 942234255 708563468 464750480 684519737 701332054 422769726 102612804 442175119 158415546 627080847 579390972 534444717 873676180 955966934 840597510 743243402 174877706 838237138 185841449 762645028 491520796 857996083 151416379 896777335 240780695 900435031 776212363 347193390 209957774 479591530 716839547 320689641 782315293 440166709 685758935 575701453 601592464 160371075 908379870 355546438 321603303 541793888 722771891 459574945 446635562 552555496 612634442 242271751 837126477 741286493 780906662 420401039 242012059 415504050 656246886 635349742 568370193 387946531 801657027 128400091 732059120 427330951 683790214 390026437 757838085 284172591 928274337 358333093 822038542 316082743 292246121 845555743 709395375 721726098 102637069 957223766 529041623 205188431 252772505 982304505 557344281 546731077 344837104 645794104 804991624 769228039 685650567 532875707 613821804 853272484 768899059 567000082 453203272 196632822 551755589 451320941 491732635 459857034 568064317 387221019 673875872 532631810 995441903 655635160 406153142 557854592 741950648 995453690 192830731 608719045 903367559 688215909 483749494 885690511 618933685 205848515 836609685 274119237 358162681 177327579 673628851 740836961 450789106 420628354 173920554 629023823 139023912 604672820 533779456 431422556 620121860 975925683 593257907 378518227 766967724 666839569 949144626 742278479 574529109 672369325 950625155 863966373 404206769 371359080 316050515 116459330 890361729 347092644 398229113 380358414 999457864 753187191 923841703 422106484 821827478 993290588 807537975 733900333 815676945 907776036 613810892 411019426 686915139 330593940 160820325 104746098 511926186 577656662 326406090 183747827 238749689 834522240 391183917 967893630 830795202 404014045 305677707 480866096 929344548 988892392 803613264 929358025 358497687 868663369 813735128 292679772 635362115 953952295 880163956 793190998 540885722 217528342 248667380 740729938 145715608 297661460 878827921 153435970 495438158 520921874 458554852 414858993 587335023 807579103 375570108 102781124 104222565 994858518 448856827 501395950 973427792 380505521 712807739 594961170 348888353 355996946 946907599 706283360 265959904 972656668 504836169 466843056 882506043 888499633 642317174 196038459 333279363 551664422 614293114 380807049 905346591 986267795 223338955 948294155 710531563 918656196 167596465 637672682 108870079 885170785 309726318 668472209 755333827 807933856 557573347 722459885 432930639 919257996 280807080 178373956 455205850 676720376 417461459 631610800 782192790 703273461 552102043 857301397 494016628 116853164 735035446 685892892 293362498 294399741 466919995 666163994 616424214 846768985 817549580 776837988 459637863 132365058 319169682 610137184 841482823 967278286 704245888 396958493 316758000 118350155 389977690 400075291 656075230 420223634 398635742 280782957 970788436 340647076 950075222 470577887 512766636 961239156 500948477 281295178 995129433 149015194 821111891 417711455 580104020 505154871 256203957 561568424 560362365 115156710 677075699 966890678 502109649 200684153 603229585 844785253 638692986 226900721 793126712 441331578 252322038 314970399 285246107 693516804 497382680 801765961 594728713 729990907 598600344 907416987 953839683 524554430 894254807 366888055 861859453 738922748 794889609 265034695 696398874 686918629 105546478 177939012 461962456 536933492 874222266 147187747 604561644 554560479 396959283 275177566 862491360 524510629 686173628 859267884 116251710 636144943 425296352 865503930 881440096 699399364 885819669 565293619 939342499 339679759 253166023 885219943 514133544 179701116 455243942 555034462 954593657 791857521 186072201 995237822 980532793 437110350 819275531 834470371 869422210 631312963 527146989 101367139 768282115 407498548 783954421 500707010 374132715 304766475 551103060 271958318 683554682 988900770 278978434 249145648 796406819 482645480 294240773 241325294 844535535 155952287 579279411 843759962 293055611 940332012 878487654 528531415 541719968 332229565 611742019 271967356 928715109 579564614 847400457 106136192 542028874 182017495 631075777 681242617 662491463 942854467 102514458 819294309 897073383 285465680 356259289 352611068 886521937 345445050 741931140 950512652 377360959 752420426 319215811 674197544 219006284 382701675 586397583 592983366 484011932 458399310 452594516 455818901 145353783 455168688 686659559 651581843 201996515 669163475 570118476 729344438 546675691 186502144 676429661 947689006 763882221 168975807 823357516 448647566 488688645 243719370 617789469 400141654 300445357 432511058 417634493 674905603 652798646 699295305 882455161 343732403 831367008 488401971 610581615 375120986 791869806 651049455 330950594 857302153 324218784 280117465 432008113 890428076 879528083 994096632 401896322 163617501 971073761 120349942 525021997 386655960 203406578 444072903 415166403 273247589 107970864 825203177 339170251 215371907 269603222 976916278 331999333 970166507 720188757 807358362 899655516 933553726 336659798 601368366 742011023 786104796 740095292 767491890 976360095 470158792 897341856 841165995 644455618 848234265 519543061 182948502 965988271 738181773 618176290 952051381 307056692 536739960 420584461 250419182 298946897 546298274 837837916 728715471 477963307 860879381 805918154 228878048 952821565 494790893 416211836 784739530 243115815 383892122 806599670 100413637 136650095 877226090 561157327 127167627 965650008 501862096 434577074 121852265 665158841 676939693 210383529 603403234 114561957 877846965 332932490 697351474 596924174 245995549 724001161 133943133 190124347 251026152 205555475 718395633 917418696 280866084 253549470 777619898 851974584 166195543 828313886 919700687 351596707 644238476 394181728 563024405 243192571 429066704 549898132 799638811 423831461 946646828 490669632 713375020 660479771 979117297 460521844 850281276 355672517 401378838 436860685 588788918 278728608 886176771 424033897 536862303 157585823 448981051 536217073 546633604 200306994 178917668 366794998 717628436 881238708 958054947 873861751 195666206 922787042 328512101 337657944 257693450 754267013 608850069 153487860 696966547 153690272 247930557 806559595 635883257 626801907 491592304 221118178 849641936 915401411 702146161 463790622 277977677 147264104 641024683 761089965 904716661 457500208 575626998 164887662 661707515 529078012 824494227 809637093 754101850 632438708 348941995 236672390 673434223 373907057 419721693 304173112 167450324 405892273 872471292 805782320 530393422 578337481 882201163 137652745 248252933 640636302 383088675 501916453 587920381 898652592 216988313 852316654 102238742 766762317 141070247 375118655 933739552 252298516 341682438 512881313 930245624 460263715 969795491 826230008 213327930 997510195 783645668 397154646 152042871 326027855 944627294 650208335 910843365 255028284 757187339 896244682 506699457 919906861 375454139 954360488 790136783 375690729 156014354 846041230 197519777 895567346 785466524 101862025 996611176 189390646 625226907 298715861 732676959 907958569 461395462 515921840 381529616 356183756 771100648 317282522 270221264 894478611 984242870 403075548 526173484 614946906 179491901 608377192 162264042 672865980 853770044 611992293 180634259 935333949 839035622 407519881 473940997 289661330 411135332 327355935 343487254 557128801 219170476 225305785 447685524 682505008 816340238 205876323 728806783 155017438 756421925 143930107 238126482 945800809 557710667 246725375 722854797 620820203 385404069 349430187 641688819 720217981 935046475 340107619 445459038 745342630 388228898 904297974 350695762 345916349 893970813 194201531 807521596 279720439 385487460 539488234 497714204 199339849 119031157 443316403 764647858 964573770 282880159 607982694 136088297 819659452 964241458 483343820 420308626 237093499 224147083 678431742 858135643 646190637 534044003 247818178 913726934 767343901 109697376 324806464 153081714 676850908 375582693 160849817 668510324 987085566 847235056 452122862 876414928 691059349 358036486 891657277 521296296 399855134 189651676 923366071 467662180 449421875 469204694 984424793 340358570 889064210 301491240 127892605 834664716 245434712 601739090 574737425 187067970 981232697 991459988 867085997 729010542 781582615 381301543 646493874 626547893 124878555 864054244 348042473 436184834 172982401 537504658 456041531 564279657 473433928 734634680 723455412 847257598 302954324 557447522 774035373 502054790 697552685 825198195 821556813 737249408 234720014 203100487 587911561 790378930 167130484 962434525 808536130 461185811 637413467 229319200 847397125 549668365 673347375 471114211 215283319 779030788 744920833 549194462 320339276 435863982 415883812 780708988 286844909 810427221 292970408 737918992 242224441 690284579 160167514 224573513 240974012 914178729 505217039 376411724 842516046 524153320 466916656 402770589 993436877 199913429 133552711 219600846 917840250 175142144 681792709 325520068 794194353 225077773 744299502 218014183 709813606 308321714 678133890 758885974 677586810 233969664 975565160 404022617 932217592 802924590 685150655 376506379 331283298 354585091 109855197 523490601 571098868 160500872 967766637 675014139 985321613 774830578 505064149 180731566 537225427 565980117 761437915 354496966 552787626 186057094 707637481 714762349 549077284 476133770 532118525 810753822 708567695 535427045 516749006 899458825 820076692 910489058 983910704 544426749 883609896 540289887 495401580 308170277 549237709 849833729 510601670 840576212 431990094 649471023 725402102 927706960 736389682 481585238 220713878 757329158 294760147 965912383 444203271 307425808 424031976 566994941 571230158 919053533 894190617 773783123 429386766 680855706 494107575 622309788 100184717 634990196 246330598 915599222 965381866 707360170 844870943 892825462 864287753 626952162 280274724 793835455 841938115 748315133 842577445 843595853 284018742 939549054 500718388 226976892 456031748 936790162 275403299 491476105 215176109 769151951 913302484 533413838 701326686 874371768 748891497 785342989 195637422 324591968 263655974 971247104 931186852 650614427 971611186 251304250 322495466 389556820 787550510 150601599 107278691 326147238 241808588 751903728 556095945 712498602 757156701 543284280 661978522 399835454 351817190 458236610 719016916 430770576 692521348 592311007 276153914 471277460 592234049 203054027 839487592 560243151 457425777 182093571 124217390 336690106 535698621 802458743 777871486 326615788 672977470 824694046 318622140 350142168 401065124 561665850 810248303 508213236 360075175 180641468 779708781 741270453 864176355 429445426 910973901 115152122 695951343 891284135 727062810 509694035 322895930 508234992 202970123 902008564 896713141 789865318 224482398 930476294 715303811 600884046 551472347 288672667 277059487 779762671 245623003 261657562 729734021 381946141 213081114 441376608 781564708 395782189 614495260 256332940 909266614 380284333 652143996 650653551 110366711 115281389 723615354 878339131 185590762 735769348 535443672 802926369 932324755 114864554 773946347 487716332 812863132 846683160 118465592 279108458 178760824 508025895 121700000 234167653 649565456 937978538 928640097 935373019 467189588 432641039 642409641 487706103 663291958 863231936 535248203 914300191 332271716 323532297 878171723 720397317 587874461 781930761 414284587 330489412 840038957 281825312 222126759 260422979 308868644 448338689 982553156 937759006 505840955 278600719 154424647 147077211 570110696 604688254 441253136 561456291 594086540 485075501 942136704 648100262 623333540 423752369 968406894 746914211 126718558 599469912 728473065 854642002 508646108 910797328 515512947 141182715 443139133 913670166 356917516 822803188 368460257 841967088 546240644 684351105 986096974 184560124 657916601 407681908 632591587 941036811 779771616 453911062 852046627 787757893 628088555 280737738 301610955 387087831 308291504 963335351 995339533 292041991 244536629 760754526 778184357 817856872 872272008 243850510 671099340 833405558 243252275 144099323 233897873 903037564 182883039 780886038 928228406 872989005 892325456 216818199 742000277 461149939 338133982 872107006 834188225 179623623 731919119 878104433 692553677 440996521 555966104 100123324 993001909 725022095 495791023 693833976 702572148 667443152 700087806 707085002 141407139 790452455 705779398 373426559 185886609 340013885 567518041 132436324 889757137 263746667 872165616 497435796 366023730 381105713 979027343 476124683 595530419 923856327 410025932 696591931 721319064 872146028 837711153 251767819 751549282 959976123 847080194 217765171 225503636 883406059 726255420 880430381 482670857 179164321 855558591 144012895 415092384 844855051 974801540 359145791 719531914 254009833 116312402 130777521 966317730 789236728 721500266 893016759 581272609 702358092 506835161 962528642 751951184 776392489 462083300 692401633 903866855 435797100 393224749 122106159 897653894 141280878 538782214 518394235 328409201 675627465 133200388 220053082 760581785 118055915 347447604 282753914 434887965 962924908 172161283 845793181 607147399 957240375 527624892 230139978 107876429 131051291 470467453 477959041 783194063 182354052 607772702 984846279 826650546 648770693 277534461 674384482 777267597 964340603 996746334 413296370 701376743 978310688 601436914 666822745 887572920 186197086 201574350 279191289 430878762 155178745 348624496 691374111 745573818 214410665 593939882 498677543 573492716 460960914 385000974 300586049 850415234 302400595 201519885 109358681 557061887 382393967 465528190 861421977 345272004 383191248 604054095 874712078 715140764 548318956 796048578 916936899 528153479 873105651 609416331 674443161 928763915 941459619 617404923 137833306 397078355 493251237 705538597 741342987 292125022 260565620 248530618 627141249 693178956 357806572 703694875 436998928 958382483 137418603 549451326 249041445 890318630 301655354 256651452 526643100 763412015 398091947 927297697 986207358 546687980 491415808 295430705 219553916 571622709 454732745 725036158 371925838 970694260 143941410 622129932 638526219 137805654 175792678 651174317 615966617 493923257 464942266 640470789 414562486 328881673 988834045 265810191 944248512 844475942 390016870 520111546 516054089 408102826 519314100 845227092 937146727 473125433 611074567 996501116 890797093 779077268 571280985 595358937 522389452 470308848 233130287 720858524 389400983 106300412 955385214 160919471 762597517 818091414 934536862 678134989 991451015 171400649 569790603 207676709 755764020 697741054 494719128 568736972 300704383 820985802 302158827 591492850 994476407 435455816 227218739 920437213 892221094 632813236 472985313 903954565 470888842 213494414 652167550 304874104 739781123 372005065 841542281 317453621 713481568 545775432 317535964 674667275 644516861 242930670 765014135 329779707 708533834 237562581 403369706 753054479 748821609 510811044 442341491 616192566 798914577 754335464 925549286 833719757 761201310 842947751 124174200 443014696 360080438 857247726 481771656 918987312 259021058 343514318 377810307 425044437 548872541 173864052 743046952 278488346 461917673 839223243 303592003 832891523 788714211 779276180 389639928 475348758 124555770 746036573 661466680 380097251 330471417 951006743 126624149 281218375 884182601 517249446 852931853 271337451 865398073 374558408 396430491 809015021 461259951 994905857 441985688 992867328 548877168 350440750 700350672 563737316 807119507 338232571 152836642 665089154 274105457 541682081 789160872 687425455 111336498 292459856 857895669 560588437 738553455 209825826 111697178 306133763 762319148 858528398 672515743 477295845 412080125 710793592 236003633 261119804 657086577 863948659 886580163 215065496 857797591 376106009 147376776 415025109 163969668 937851960 945951084 668911058 637673073 168141460 788614177 650974772 451583872 355630175 534880918 223344423 128450430 921860223 279731395 946830092 775265831 853260727 747916118 676129122 722894706 255959817 651210398 650640952 185674633 230305442 324805011 539793899 863696904 855474302 502331944 938750990 161164380 296557125 974689963 972902281 342680384 837831819 497698414 864050826 656447433 863469756 337061640 342172957 724390408 669448744 752380847 799793397 599522848 405732034 368426345 983326012 692904283 830180875 172953908 600838525 590508093 401674709 442741541 377574200 510413668 850026010 369274188 424970609 431693523 158045322 824435437 751214364 863685500 811280657 315434030 776867118 633971698 520330944 149881947 114888791 758781169 451247592 613151240 342453252 307151286 805006646 818508902 431697496 967459179 249025630 960087336 182500367 566964035 454862862 116347262 449382163 368264596 203238300 973932394 423411516 422936404 382539466 459447798 361647400 565750096 529177764 411369411 455461069 278255444 675245446 931125771 302550957 687493762 865964604 175151972 582944394 192182301 295924022 530961107 848689701 791726593 152700860 834612076 149800802 176021474 771849085 371675267 845024923 161506590 220978276 230368021 350707640 580543809 697793369 362247867 573851137 681245054 369975154 634525182 987019807 773933572 404697856 493236025 606181732 779929621 279291017 928043997 907742537 117104248 160717237 625207184 315619701 796094488 575308722 398521501 835700657 279500586 694054219 260416175 808036734 780126821 862884787 245772666 733840863 924407878 507510506 402943758 963552554 879819559 518054212 491945243 739714552 390441166 715754457 491411887 184670511 816927801 394116991 492971918 173688516 271369467 619102576 173283923 202825379 544498061 302334472 694888914 104383990 263809521 140652489 385991621 936318753 632917201 159614557 824736405 288758642 596112638 991196439 809258410 674506020 364511843 992609279 380050096 357512096 945784794 817568769 731961856 259410836 224923910 769691811 616807086 136219508 562072727 511898863 910591521 224971586 444260933 329811097 859214029 481959135 136778691 832095754 691916136 743772609 705384572 357305610 239542625 614115242 654685315 719189685 197074587 445671650 159194096 751115816 197690609 562271708 774019001 990007629 123924881 558193539 714567917 565949631 448413086 889442062 371731784 302596961 142212966 561451279 748301519 173336673 897233069 691142274 451856474 767437319 842147361 401229286 370185822 982118615 877452567 887741996 361653506 134661493 577692223 970410942 443841812 317487755 958196236 571065127 845624596 121883996 353297535 721745126 922670301 343641918 723172812 214566211 954724759 104793576 111779193 166424730 806438450 317999301 137745141 208225092 564232943 233861129 126447413 321766341 933770095 343612918 263328084 241083423 891867188 137624741 462384146 949277562 214437468 299818070 646143760 997447750 539291620 198134480 143240651 449200313 826382544 469127754 760587352 752929287 710994549 606269275 356635662 427902948 236198123 459115248 203111445 830332294 230975088 944846985 588504657 695401516 246841340 360506128 137561325 624546031 116654531 487890268 304156153 665890506 669015859 285962186 519367535 573085096 738990817 772178040 906174815 783307019 792930522 697883623 687961667 580319795 853393025 883979192 302696768 588678029 605142111 447525440 162054206 889373060 417549697 875312164 740534760 295743346 307984341 373012484 222888820 656798316 457283263 928234374 314745842 154418748 793557038 128804101 727744758 218002016 652298168 492628944 577997736 603194130 714275221 940833915 839904832 603684875 708549831 947535642 426923333 546870802 864068059 975323208 324970026 717397209 616188051 250929448 270445903 157324131 146586035 651126642 504976174 132005252 641750376 781873555 643889833 988651165 623971176 634429417 415931926 119569806 284957846 864387500 451251457 454521467 881283438 405697690 583218272 904908531 246986770 421248066 251450779 647014334 677009161 628838509 542472092 641142059 422561952 645285278 710796061 862469110 260964264 964699520 121740679 945067819 734183013 700867603 878569448 668885780 664188606 938052267 794954385 645771603 470851556 551768857 733300715 479100532 832383563 939258696 654379486 995157071 534762590 818627619 655290639 434858298 800178330 170535527 561544923 259355358 506853191 122279372 893153945 646547485 361376831 618509640 784646568 273245047 284694116 282998942 676534665 637687766 302024576 882948653 560767144 986206015 286895216 934910432 685358585 404333917 915293172 938066991 521183767 754450359 221324841 303847382 345950212 791091837 879393730 735434544 472933766 207550163 936549678 557343363 626395471 749163748 434893185 154114627 802153518 303771239 528936451 917798049 744970071 759844623 102410529 354497695 741407109 463074332 803488539 513626943 934921565 262321732 465144834 919425313 679616852 653056483 831488392 493411351 211844635 323754572 138362137 823002885 931998320 573732704 491329389 975157110 490223308 436507685 674031585 311987445 675399473 471286700 915826576 727860091 496527334 503998278 820226996 649022111 974942834 186456558 470794847 323583595 890357914 272788412 634814893 987899397 361616752 932527235 802511312 968390630 649725230 550806660 881863413 892096903 924753071 678981624 145145938 278654553 861135402 750168011 868418342 300516621 384042504 986181185 414509254 298192835 179942259 649764662 485370810 907480065 885620443 205632344 633512804 488998310 274676131 310614874 629234787 156282023 880694098 757737925 914433696 745824101 923326835 847173361 769761459 698973025 946458492 528055405 243505875 146406314 693124591 357023605 363648670 134458838 400971393 761609818 932742243 527249307 952268458 372020833 272527196 160622006 601348820 385690415 120609544 199556806 283927769 185633968 454747610 768333486 687465514 591687592 381831730 812709476 105866852 316047114 929428389 185196172 652114363 306693754 176691396 226745971 677773030 624046417 364535877 482982599 859119729 703853064 636680636 280713000 942544656 968981117 596751296 325874168 212092379 508073524 872912340 112438347 918221401 732294329 404572240 658482782 821032920 363839504 297253803 873720320 872020183 646823262 660777461 818826787 626986404 514749216 587583302 971207352 551317904 668918934 583557392 415908043 577067635 233474211 944824347 887797489 633689521 253894618 855322185 683894213 231071245 917717868 845661667 174597264 549841441 146395003 986826503 751305899 390506167 234030227 770369286 414290289 539315197 409287463 782436305 681880359 733169952 166619905 155774846 504590336 823347039 545351392 411906850 830040385 818068637 668745271 105539929 279584105 519512248 707082348 682613847 509580622 576416201 594128009 568200477 954912886 489939978 923219667 349526742 310435353 976781483 238024263 470578913 502210053 568594706 831654828 687932671 609613095 132821361 733243988 931383961 351087242 723400054 854917479 544677942 650420129 748602163 822367158 491833783 329136034 772334979 585487378 243102001 126119830 718096474 491959065 132631705 459958459 362414533 516779764 660938918 751135749 785347761 269176272 842103098 918891258 834083655 578134678 952709055 156271217 748716746 886346884 711379884 901217286 110259373 869978188 761632515 754001480 501330050 351944813 374190668 552606182 852331325 515422530 593645466 791804300 286639585 698894865 212420140 893315474 379562234 677122999 267152116 429170214 570573517 756559644 743937278 199368386 973872405 533903742 667799926 409141031 239811315 114922806 716034733 301099981 330994479 527664878 929875901 986350087 997494869 271456116 385078600 913673410 674323065 154448470 673738470 469626673 135982980 730110026 120404786 488297443 662077693 737117707 125134415 676638147 857114378 668760406 745912465 212786748 719273870 800146738 330645161 218343026 461349225 522087250 484654738 228351954 594951898 191961730 913718203 928337635 541374728 270705029 474411048 871945637 839627189 131793455 918944829 582277578 803346702 316371804 583209426 573544118 192198652 389296776 937044208 557890881 412248925 696589617 524082449 120633811 369744107 895330243 498449214 361558441 350937220 138903498 421009837 835240240 289406437 960508742 652912315 395086442 527932880 395768530 149237676 816112428 609087858 699340288 455079901 261958343 562745828 753557191 436484791 244105578 669381716 444347133 906925092 827877947 799860118 150741491 293215863 462609298 286184763 695510223 676339524 182785703 716195717 968530340 176244974 900895452 803528863 232443125 418635314 234761666 560058383 253002229 320621039 575495115 174780852 577904498 205786328 598067908 742323284 149667363 215619812 329314644 597573895 719598467 543241546 409296642 143055129 313860655 145997869 761774917 341803193 711644924 726157540 371815725 428520175 658162895 868796753 226416181 973130317 809066530 614234996 727543326 595473796 408415581 167010957 700871449 104805505 152412605 432836096 964507013 805304021 722770514 546677313 372456479 423789354 889725492 645043838 518087017 285933988 510659042 549844366 912380684 832513883 479503246 467714409 925397375 141377326 875000596 885057877 495246232 281367807 564341460 560304450 463085116 274390664 960655526 902454609 347730824 995961385 507289165 965837956 121621840 530098012 896486658 597569823 447066732 975780113 720603107 749071848 518072924 794192892 390628285 929918157 366785176 579328205 908682746 246594094 798517361 183340319 779291082 709808126 258562997 243400905 786645897 466235922 665098875 814466111 376535874 502364257 185016993 991420452 249176252 407238468 804349609 863435863 637089057 965165120 393584956 274723007 238238136 525957956 854144734 350165589 229178604 520576718 752375039 710837795 942249701 245823877 472078321 287176586 221254744 269141311 428228625 129605743 641581983 656105444 735064324 383824756 618178189 275180663 587722479 647354184 974894444 732182577 373009393 319776916 810207268 817499693 121657689 119287839 456389225 903746722 472497156 504678994 502940798 789098934 138282344 990041609 813167501 588180211 249921974 548757103 939741049 375545482 918363930 262198492 849308997 249565876 812491394 138654662 497568938 490097041 496307769 489010669 987927037 502853832 287928986 145336010 168704538 944452770 529038720 128592651 539739629 341589248 128199513 870093719 221550272 452630132 805807166 356917026 567882030 378881193 250567682 520189057 410305896 941459357 187146735 443132671 208669771 905008366 304634909 352414776 232793562 550723310 774892497 666450581 104364510 366710944 608606583 379884932 458228043 172894869 401514485 223993678 725658685 400558085 982925047 953553380 118872891 723242210 634539536 826907400 897514451 893520530 861596252 884549471 649250055 118494096 922577100 987952433 411653982 601380604 750309716 493764602 400215946 484727091 431892867 175323257 557045135 285244530 934688071 308336079 945796844 756420948 896126486 876247613 146664035 699865796 249751000 920233143 683963274 701993326 728967539 350968957 372759190 557989821 465891225 693586012 383029917 165246466 451701726 237766020 871831040 455735852 104615767 711580333 295018956 905908013 890556445 789439981 144837582 562437354 815920365 801686845 590427938 189772715 708622238 604777362 454560781 200122952 740488783 143588515 799585879 876692789 656550377 469113376 967244873 841095832 223087584 567686218 769394904 108652291 842679869 849284578 384556649 738700769 106583397 387648918 832231103 324418430 673644382 381478004 438360930 788968593 728806555 927892710 211681117 877615216 625556217 592260380 428531815 195611388 326031066 969429615 385993234 556671315 843681319 333978544 890952408 161547678 952098052 316479332 339256992 753263846 904291727 133960000 811591228 343276734 437631802 138783173 501785479 512667886 458419195 237324344 161464377 496286520 967630961 128390001 614541737 594702426 755785620 331189650 745773910 298268434 390992849 477338444 618490457 691502479 352919368 714393444 704236737 206563369 278059066 872931424 494144484 544881505 707408951 470909094 278159439 394449248 787213459 914882288 880060731 151598516 553539766 831136036 102706188 403944119 998129433 598423327 906014480 832244801 515898908 479926247 222960283 448987930 727009329 554880642 218508721 996433784 809974188 458484346 712463150 609863300 139194908 522909572 475235920 626749529 740311731 452985498 378802511 475349902 973665959 463018826 652366057 124130736 649842126 676015953 679833922 975573123 409832136 322480933 551826390 220745568 208530469 276309553 451575663 241139904 207956687 669115603 810705209 123812883 750292625 854600348 778925970 847668780 694704561 263614804 578289660 659849556 612683484 921037228 419105412 167887752 707578244 708821720 969427160 138930127 841802615 245991454 948132027 500722356 113925157 115463543 687539036 701980716 391587979 517770292 283570166 810538192 354156777 186075173 988047306 405994463 709235285 338610875 998905136 982292294 626942522 567272181 128436742 632876798 400136298 468891215 618040979 352545189 812991835 217908244 712932060 468044435 687181518 982598391 834256925 271411503 277740647 809272528 799688858 697678044 199960074 155912979 328334049 788430124 153341179 229553334 856192117 802329151 173723197 402880110 853295456 332523590 384185231 222187406 141230566 611626714 340418393 425282907 850800165 350588702 218308291 462096826 415164066 984665519 617694572 194628568 827208297 599924648 900109911 173022176 662134930 564298682 575208278 611131686 273984817 152305555 392281955 847081830 226389225 658371084 454938577 273340820 570220088 559859300 854893825 388649693 903298182 246693015 145742458 474387823 814382680 734279570 585654505 606451455 365634984 711557998 376148090 843856689 986551717 358233714 436990688 283426680 698171540 155203537 458181489 879258754 127402789 831214487 515739180 742353749 692057316 659800886 120190057 934769462 992278013 500905543 639573739 652708818 100439206 531717201 398266883 448919638 958782430 485008474 243576353 327822426 390805817 375121885 177886439 582017624 423673927 350847033 724492310 934498098 788159599 982046913 447424262 986791631 219594350 769396021 794944672 882286548 921337531 492835792 453646677 697722532 263348499 693519820 149474783 654636247 467631973 527387245 536434823 779754930 238583094 650801417 925743174 387518863 400255414 386018337 707216611 424090257 541027455 457264639 541256461 173807432 923951489 735756062 853009525 574334265 237618328 638906894 637702339 878669655 528986778 867507484 462213843 643637740 597739934 546066596 602411728 464833875 573317959 681703652 707439252 306130235 523663333 870705276 212980603 669630895 797423146 492029731 694779546 314744776 214588436 437400773 596280810 962958589 385123660 995319533 506099666 493332796 458189273 336999487 231259475 557244012 528220540 735056026 973497127 831305789 112360720 184416258 615705430 165277267 881851045 828365711 301987744 688413818 344557098 681140909 349466538 985899280 543153869 266849468 577920014 685325827 133450639 379520782 325425666 804609753 593329420 929738956 339566823 527400938 268812180 516979839 405910170 852546452 722010774 813962215 551294754 744626573 907889756 260835634 851227445 830906000 992836961 296245901 432003137 818652127 657415568 467829937 776976742 801217647 638622036 823406622 275680267 608333032 538468809 401733979 436121934 275406114 687428463 784308865 467285651 421729090 539369250 254563677 369380573 675786677 885573862 739815967 287425629 496425938 380789057 409849800 572663302 185553953 900029734 596885004 549841296 417894038 618837477 643054661 237185237 168348974 860160308 260016382 324832092 258234298 892497831 155739227 970605032 585852539 815069474 215142425 220185466 834955382 668767554 337270197 977743209 251954155 183558297 582485804 436626424 252151400 542080886 841208753 449092887 932087351 738835200 294807900 374838957 331988588 207814864 949912782 186882152 713515565 642909895 815168933 234290735 383422139 648129263 247345571 277787234 865296877 995753386 501063686 570111165 616246842 855799563 285788501 323682138 692378416 826642851 742905632 543957960 882536090 279338063 783405610 748685230 249422449 892924132 430696538 920318727 360308022 846683511 376008840 245640544 625749077 402928727 583833044 995157694 347999219 103935444 394474553 425239299 881092072 759711217 259105541 191487799 641346078 579916705 457366429 808609832 303917873 389450494 458177969 595626153 407075910 751822072 157615511 791502918 926970052 820357735 646339297 719311194 808906176 385838871 232517960 157154350 158404360 898333277 189720760 164227817 535931777 609812669 205418316 212249686 839403837 453229847 927308801 999077063 631815486 847652587 364045646 528177810 354486573 695064626 209251861 663864202 355179504 767222101 454962880 701732651 917085047 283884421 322974135 675243573 989771508 473156865 167904717 717877443 800656843 466155455 674803434 217048295 406031935 773624436 610475828 727826799 472275148 303895954 836128323 586057714 179117145 718341525 700864624 858765415 874178448 356626633 301211965 418594938 610847972 731426707 484847888 323636674 469062039 744491369 810821772 337639505 573636078 367004709 644232367 445395139 521655714 530303341 816942844 391513485 831312654 122730148 751478954 535939637 670531530 909621109 458181832 428831297 617736925 918766126 104804281 518553135 406798993 874572571 327518823 573416069 836595031 900071886 993301115 972680272 973897152 823100102 781800727 509791517 821326192 985880266 698176945 148527488 909447381 989293545 768254421 476978577 654795767 726552219 964204659 121076934 858125108 351557770 876202734 214588253 106625029 980143797 758553664 506716150 354005725 270919815 164293000 186094049 286351079 343061456 643507113 245624761 274223174 665823159 245863738 283373420 495960307 545860187 128604469 607667552 727948586 277293540 430852682 240755461 423484826 435219411 953529192 950979297 657990665 195944320 549887898 379862702 678636455 740708050 975821683 968804138 835048534 865170350 808566094 973904183 336372298 275535409 100033175 437529094 857918558 244019988 505292193 186025046 384960497 169528710 354453690 342606503 527951801 273886229 109209513 837806111 804538203 891619636 216927679 391652679 513962261 118610999 888057473 560983904 347207144 907553791 265190517 249830372 850968912 269815654 338438976 884277638 186499902 887510729 861680836 229433823 416091459 764543216 821431685 857850333 575020546 675376895 628679393 252161345 648666490 454320618 894762457 496151051 220444500 749186226 923557957 389028808 325329975 887098371 741491929 786887773 698433794 402611638 378574391 277127353 354854627 572098416 881977949 630676649 753839433 151265583 378665404 152558442 208770673 937597439 884810812 646674111 598177884 948326486 623676378 449049235 190741023 368254401 814442853 684300231 757507917 754480715 443895931 727793135 523013251 683583864 239037184 434573613 340766189 431427275 510750817 462659919 274951550 908560868 511875708 138050559 370189856 483454602 359478201 953953160 922163443 316832343 266429206 665512438 595513711 967910920 758741499 324329355 245722006 766320999 992398772 511033376 655180893 156016760 547470352 936307443 275401285 546289680 491332799 295604399 495884465 398590127 174983765 125416314 519421055 125849933 472084985 301219540 160597295 371143991 633432533 497926044 628487960 820327733 268094891 711889854 567908242 616029004 973907695 484178591 739983005 373113198 771735592 891628309 692140453 393078186 207262569 587323488 243192983 178890601 834604829 324951410 275555828 462517646 595521359 167355202 151779786 641369999 277484787 516712406 707788741 440538916 965689980 770753916 265739691 143522247 305111131 769501023 692445599 154726773 634143846 572170371 914206184 278870629 748043534 390280653 134533455 936363178 618021031 215626047 664757110 513200422 546837119 763303194 352031580 949304597 527033511 638436082 993279377 387787374 818481835 949735850 240863249 819772106 537182688 554667757 581976864 103083747 808941720 503090687 881655080 524611983 144276204 736972836 492502012 625183847 640262767 889086665 109986664 796107436 158021690 794785579 808217731 822087939 441963308 915757061 306088003 159136481 363033478 468751823 489106520 645343543 100212251 742328616 255534347 698768366 581394519 283716412 336841642 193652510 690493229 998098783 686020489 825390484 327575811 498442155 832420885 874649614 890938203 343981682 776431729 285613723 299972110 150117953 994421006 562758782 546081228 714084937 684326099 297515144 539768479 363827398 951473250 294945146 400546567 745828011 397339631 538153300 579408891 728166817 789238634 122749259 962184900 887737494 597789545 694499283 957778901 604529043 829373845 453935631 535128380 551821591 810110314 825168032 845330132 568387890 116446695 723420472 536634504 581806635 969721000 250273382 271805633 681320560 458668291 134176544 964024460 825193923 187364767 402751714 498968123 227958670 764353336 683065387 855487623 756958518 177067366 725626396 785723216 312021311 266572144 300550469 445605239 878780047 912283067 517535906 436311046 746446541 290116180 484793717 484501069 508898809 720270769 386183689 118315948 923942887 983498108 643963403 313739659 404994064 933371156 431714565 491522131 675103819 119997250 353245080 401906432 643540855 154899647 684950548 273269774 278751408 201317985 858613067 622342731 602992634 801164388 979796676 455326708 693524531 806454737 800427049 816436946 997463623 616660460 459414607 173293814 218161313 920256309 988284567 156443170 873755428 991098288 489493182 645937003 277032399 491970972 204678276 166443335 447916498 270634117 708327640 306043613 153678149 879266229 363229306 829929364 232162433 612872455 692850503 346708716 710514691 401926128 422252921 235831360 477525096 515282811 204451728 369070799 488091411 935573725 231234794 404942487 785381386 659190220 494878813 487921376 802139250 353797200 654610728 257950336 608268962 595483950 333831127 411431701 883366661 105544948 453737327 708390208 355443875 437455819 841039847 161890803 908188944 791168307 273868784 710762973 386823672 542820698 831143663 208797671 638882223 905902128 146452653 908817252 175469916 583514118 124681620 541145407 885769405 653498307 751980395 426260239 868473283 715632496 984566597 115891830 392830418 598974031 577012376 651310006 980452910 827253814 417465196 578754332 179070648 286075197 351655877 144355837 164104046 224409063 548716222 674542005 742576319 783113028 929876773 360096324 922873306 851637840 203611626 405987933 104480855 635822203 132905191 158921443 188495564 260103168 428753373 328447804 572606588 484142300 290297298 502283283 118899918 879043261 973644517 563909658 456362047 863733926 360553148 234917570 840975998 291835592 906938485 936984348 435489693 657117508 336714966 710776677 466365770 113493787 466870310 146367366 286237032 275888548 292901158 758924144 369693629 141601653 324932451 393414509 329329756 510325088 341622040 585365393 931287623 293174856 505102416 634680983 418390547 244097237 244546575 480798044 201829988 907019336 985634265 324734054 337399423 236213742 668211222 549506765 820083055 499118674 464780281 856045752 472702789 172698268 200905978 715545354 481517244 476598569 609589327 488919168 879840825 312162554 320306204 269801851 801752339 621217148 654532657 414354157 719994939 904462292 672842226 889751573 352812650 897331151 698241524 349472975 552376883 717117226 394342419 676842903 415004200 870239868 678879937 227983856 916240118 202184372 766115033 912997586 812321724 543270653 108612868 723064061 255640639 261528021 280017902 265500332 178455413 969661067 305075054 574479591 851228405 403540524 963421521 450844835 530589565 207035012 562772396 257518149 793833832 492373198 571884639 829128377 498090458 623365916 112558079 757875039 589876188 426268475 757763872 185449516 775587910 741872527 863323089 318929043 287238246 375501525 272975625 970383682 467829085 653422339 882751752 784261622 981187845 865013958 641296226 375217873 959353976 424022940 930508716 531658675 629923780 215004757 877624189 998040617 347877279 290973748 541651299 524768306 522282552 891555404 712297992 224848945 529336970 927486906 446513830 217668334 825326657 423670008 149422945 894156804 310645764 431266798 415241394 842347118 182214150 755484958 954653325 119943122 653354307 565382197 399978225 896221465 600800846 868318644 662101766 926929086 843245425 535260018 717521694 273645634 873240450 127974897 558215446 468140561 575316821 309931796 257934882 516217804 970497547 196143971 718895291 842036332 982022842 661269013 687020177 690259647 356999391 535835443 647481906 368321840 346738471 624709946 444547036 841416641 386529643 313077544 854107135 824880854 364363721 956738695 729621029 266575001 695784404 542892401 436755363 543072374 737429016 652384815 125585943 796381031 794721795 931060560 464066538 916485324 883415821 666505921 217540617 539881608 784541942 900018035 604434386 436267330 411628415 557231560 415504695 594654221 868535451 472852893 774887847 873195961 237499188 763931926 322940345 269594179 971333805 392486877 250801028 422839550 798422328 601935531 675586304 699766403 118082062 371709073 551239806 643959111 585262477 904411020 146918255 449658590 681756392 960164330 308283211 584798475 124019107 254279669 519257502 632069588 550218869 804082525 175217856 582469173 730378701 941257075 903967146 796830216 550879941 553452570 811934507 805639907 217478238 114575884 131190613 463008950 603787751 820400158 993041238 491710696 689505974 802299178 178155232 656011143 825368201 243490366 330148518 379127729 905814076 557882492 575468591 563835231 587384012 298799798 272114762 493206920 267251752 614133762 131015227 211001445 792495267 130054673 174967833 132087932 546047450 779140429 383384796 876506250 526798380 232444287 320129025 503875782 704812954 335206858 220564472 358778827 680572834 621219370 730769318 527143922 141599861 217390235 894278688 165467643 666213811 685336394 816830906 258521484 742104763 536552840 164750020 158197790 683492666 606803328 915642780 212442343 871325154 403514979 598864174 514158659 772391353 652921985 201247838 247748186 658697511 309465822 451298371 475140506 722581020 642717036 294124172 422199563 320232663 351735491 941380257 343357642 626387307 620636611 885926835 537437029 668127081 793413259 266682476 480027583 115164531 502804516 502768685 804484669 854596063 241331374 583218987 424302327 437259786 146716988 328932905 330460271 341340474 251057659 835987110 142534207 822638532 536074753 589166942 826161793 255066116 727016200 552844896 763699575 734748479 421128997 962781135 539877665 686341472 453687795 271349760 303452885 358023634 693412079 280129210 657047493 807283610 730127228 303284403 717186905 124250116 988789533 918984716 589449672 443702643 285257851 704162924 481817101 175330389 795747949 240677275 733156250 565172855 397799478 657934977 501022151 758024387 474822074 571680081 727760697 877463474 639288199 622792631 125771915 496629929 439442507 932861229 359974979 839709806 109455169 115823323 711717242 219022627 815542910 653533752 271909913 492381723 442089281 436625672 295978384 798595699 625401835 168487840 646005916 208292739 533928612 687795255 322172679 291925857 499717191 286868700 418996783 706963406 186816446 907300179 638957098 227716777 852541939 616656804 153525215 591877488 692791661 929411820 323756824 540597740 594140194 526258460 655525447 886622496 182086398 360970511 520856156 177332534 548811935 973083534 655100549 120590191 178925858 404400283 821229664 942827980 437674782 820520313 565975181 109007667 817255604 642492484 979381098 796120823 726778636 521764402 826002802 214327784 819772133 780417168 948447836 237421140 747881532 793237204 957392290 190911231 197819084 478112064 682762901 167242937 534857195 355047283 286917464 192618606 260077287 964677886 825995566 446356479 252739481 584492367 563870374 375712056 392239483 847672008 869209218 779810935 840064671 611530049 317402255 818326975 582733361 603746149 536170982 985205302 905040628 302242386 964369584 872712096 451723087 664047364 733754848 457465559 470813854 425096566 708503398 236242080 703819410 963828459 988341255 301772983 968820866 447274008 840018462 785274376 867442825 801983756 231622704 402134439 874857259 858480485 314286080 795882551 330899707 853867553 827570323 808884387 243170314 325739764 142072301 997439242 691995782 818789053 124704974 745704309 299791663 784370606 860448281 613304595 451682446 573836007 765086326 701075706 715690630 741862013 771086650 640451778 633780256 358858493 125599050 989304837 918854208 234017132 547569736 255558183 773241853 893735087 496939161 831331245 668584185 989833167 434577650 107280613 242655046 950375167 103342552 439642770 751765238 213510331 283875613 181972020 868266560 518984551 489415287 662558990 829056679 239807335 787198363 850950102 247534286 838298806 153026104 417949055 921273616 563527023 943684726 636730846 484663891 997158944 651190191 566219124 651799301 574313037 524570595 330065607 295850875 701293823 938201628 651477447 548813166 628984589 492574842 555292776 706032320 750423851 505538275 754155048 738822834 536959355 247638503 832365777 412264835 314257407 642329555 509026682 646353584 402081703 124264916 343028095 490211125 788604183 600782613 118967117 959623103 778032675 369104952 810893138 824055938 892159274 363856300 115156541 794308308 596131089 603821890 594413600 816785111 735581375 206080835 539337112 333861898 973255695 899235301 993258469 986007246 633988107 452455702 514535826 238494772 412056675 495293109 202328463 525137054 759457868 193195006 568909713 770914176 497623386 222940553 456577659 614540219 101639654 239371931 389498715 801419085 229673926 221779505 124500862 817613294 937034507 819449418 228379237 562341630 764209741 498562504 557677137 305865785 559304010 568143744 211781746 308334045 512464210 715765387 337805385 456340984 190728469 665999805 221295561 143548724 140165951 225833990 101403124 457977427 714816348 902502776 415720971 706737087 692492129 965662766 384563314 448869551 622879071 674286051 814642928 485983504 674957187 515310829 956915992 890206397 890988628 862821151 907935357 614187717 709654385 412450108 753540029 770729911 138013680 716014023 561538970 271967532 217031333 173547839 346186903 350345701 693772550 407186629 300399150 327018393 291032406 723946751 778629786 539759641 169562519 449703524 560240173 439301284 217240828 715708393 871068316 800757344 473622562 977952107 370356541 601528768 464123708 311322453 898154824 491595986 563439519 825586169 968536385 718564071 724776507 943546341 147617885 652063998 589897946 228895273 289296492 886007949 360504101 473292358 469009594 684498364 953324192 722264251 459861300 657970010 441686583 903498798 131574071 440218143 483939924 371660476 901305810 519032302 288642223 206580142 889961735 408442626 243513487 330267069 662682623 319280358 318405433 724495770 455042214 724018687 827297210 946320433 729367575 483623978 838259746 525443067 998753883 594379575 750273977 276680006 636952326 172467807 968160513 468858837 306588205 472097698 779048041 384083190 122901173 560707800 965461279 409553795 913968016 502324336 646806949 339238351 406744254 134721639 706636787 197015142 884254370 529716136 972455327 480473281 998395565 904929728 436923742 568559788 748861340 574658383 638723716 825626410 123743994 852368725 115928830 857294647 214796229 357481825 839462064 365413486 297949902 550545759 625789692 729689424 207067585 977951003 838676940 844447496 351597633 142610340 782525577 410848645 966349163 138358531 171902824 460823386 303050840 860601525 971275982 566445564 268149934 212299021 568620725 682935501 134643271 955416399 813534686 995674052 582066173 659324374 727417525 828157017 230075588 459513834 941111751 706459305 913582557 300295697 648910558 754654544 285949479 649365310 162922183 300119065 209069729 442920311 407509203 498524102 512081050 926168823 463954462 217733054 676582739 178846312 759572719 708923165 540780788 417936991 750713025 597177406 701428892 227685109 262002553 858076112 692237634 837022385 731657064 274797456 609613212 987163536 462074881 542074303 770008636 874768551 796585461 357368875 777058329 972463684 915219886 595190874 689526644 600711749 447103308 585754393 204002522 412315103 322708761 744799946 880632135 133006044 322670614 103253794 946669209 887021345 161646077 322254576 654776384 926019259 373642415 473748327 190355184 233356376 598779584 837363943 712371041 769779730 932734960 632191011 801674690 822658160 837595133 646771774 741152317 854587170 886726317 870072275 316342923 295723912 479561260 245278020 703543336 836554945 994820831 215636771 983082204 150796348 656856684 249019978 736064287 431685148 236834808 978252702 502181782 484313402 722604884 628969973 552915515 360115513 550120592 470390394 822088212 984019921 493699809 566221366 247313143 597465419 641695630 257306371 962948566 878420315 938183650 712156294 710198993 823521249 164539498 444535830 431086666 427421919 266737216 327145584 608042516 830293105 877798248 740270832 616819273 650936637 217157172 495622992 197049370 110184177 364633965 241608403 648177909 696392337 752222023 672300561 563543266 577586015 674487053 402003609 999233417 883707768 311306145 942851223 631071948 714273208 711527787 946510574 208757027 682538848 876145285 454750666 691063444 224761999 809653895 976000200 944024611 544072925 732953854 465871885 343172350 330610260 106149596 232042326 633821720 496589940 488919788 790917081 132188115 719570702 607156865 989808187 484400052 789183095 371496869 239921426 561786658 436534711 309967186 301655881 462486044 494183515 472672420 452398012 335366780 979827268 669714411 845081619 553055941 313399923 664406925 648577723 275834841 677847027 623004900 541846149 463856927 693458667 652428766 414455293 714391917 191482060 720010872 345873085 630087285 105170637 634814884 308445710 737361873 573258363 912210019 175536554 466877380 964292382 640005776 455109909 110163110 481102555 985413966 213280194 133022397 756295647 421145116 398683229 715710325 238017475 232053842 164231774 966428572 475186099 355358500 283013279 495494645 822533150 941330281 845325315 457378866 667879670 358987492 409738982 299294789 174818734 824879722 412296337 766676264 951360055 683738805 979246052 459120762 207103443 831849727 337549856 865130584 875752222 543402411 557744663 198381708 966860530 430557320 920099631 284502357 497880446 514964040 570797568 896439799 965085980 295641604 457732107 996227091 903566151 217823585 886648333 108263533 827742516 442960503 274460874 693661553 190906137 275885765 416897219 775077449 482450660 352722262 256255551 725673720 150086839 931077674 325936550 568881915 677878521 806324544 361200363 508792786 855750466 321356831 594901429 344768121 998366086 662420553 793620851 696341397 865405123 945034725 209481734 731691549 931700237 140646357 409680628 191576908 579286105 961287801 293900319 671827823 366571319 265172266 138559917 738873527 876860444 125374094 945222922 266338646 670217117 621263896 174873963 101881339 660345261 765356402 922279336 873582277 473461523 521330091 999244939 872732079 600783817 134260917 718779924 330460807 703061108 423982156 996392277 615170219 503021016 923084007 141624053 601097642 673197699 896267972 643623502 572558474 532972157 768127138 393394240 243651089 218714155 547136759 546545527 855304589 680089055 368395805 163355075 592091677 590671339 349561975 940809840 582472987 518819199 144209428 628605754 324067172 535262101 316330562 473708643 327583545 806784027 571641699 817476813 488276633 309046170 672294861 504117331 801797308 311544411 141181463 401840856 347129400 962720468 713053675 583070693 149250730 412210088 525444002 304608646 462966419 220820914 831917907 756976425 679207594 251415800 456318536 730534304 589677222 577925473 255204430 845615876 670775681 787429080 732159168 429020275 880791468 815824492 306019060 517997063 713539657 137826064 471838981 993681754 791603264 645749563 810583036 172476884 494100686 532313382 914331579 575441430 246094559 192747924 746084807 865496068 980949342 745597411 993137744 434172036 925382251 482479118 285044615 958158599 794632878 833682532 380092878 122280201 992324655 200746676 518550985 107955078 836500497 289876335 242388918 915533066 589285400 959630815 623870923 699621011 491049851 193052563 317816057 902850150 839881357 685901322 126972696 819643609 956784812 186581434 914351844 337021024 736058323 863099489 144812691 463680197 755309469 253122604 115940293 684903475 932636074 103354436 588625252 369003323 488063273 542286488 997135264 143062888 202371608 628449949 138579951 715170404 264210512 392353570 997229761 948822028 260684402 295695609 693875657 170661146 126072882 634301891 609171859 285954662 754357757 309381170 643292945 424795538 193562612 892843247 907700638 643431245 627344552 276808023 391141848 860122504 681279018 814404996 857308946 630612437 711062872 935603257 936331254 757118955 537157461 597976251 587003896 735161884 155019684 306051052 563235439 145524397 970284014 467817166 892808002 122644580 922739030 362727336 786220527 247986098 754049473 946751645 825700817 187789358 713246677 908587570 271582153 278211029 793479697 742775580 552155756 994242338 290225880 594541313 714534464 764336194 872440795 793329041 328780986 859231940 894920557 554675890 114207363 619801299 585003662 136903704 890275094 702773842 133009702 303883209 107015307 630212045 427230447 189329356 766826709 807243785 679431762 862625334 167173782 453564357 583414804 487476684 370280045 506720224 755283452 850687076 153288477 922842704 139169177 649702626 687272345 647395776 364531374 952901776 684324952 412894185 881257255 597977735 711532137 157387700 814591590 697927699 338101334 821600552 244982704 921711595 313786397 114164814 333507472 836061716 647557559 750988330 429120072 966576035 669399249 105004342 181137573 954080967 364681456 531365171 490129294 997597562 933217692 793266648 303936819 186267008 659126301 986887657 321212928 442803615 126048037 777604078 119806961 561227148 389312754 880920734 261662013 532989585 382226810 202491001 376463854 745568822 291384205 306742750 487792913 411694136 369950112 291366920 491874303 240719244 826363983 936343823 676287499 591270210 846799530 615834763 833739009 306012458 531764030 522762981 418780260 296808905 592951574 651903842 403181355 110733438 675021958 332889856 386946091 912163958 778417560 174148383 956455862 854636459 772724585 573846030 596054480 337338395 499722769 242878619 531216453 479686140 882378710 881186800 466925459 828486075 296772612 934845911 668241678 848692559 503899634 784743248 754733285 129241275 225504268 752043835 807178673 606500426 836736808 869391543 204879911 563703833 501001150 913438282 234804523 289365719 610502005 522587241 928999386 354625553 131281448 353619302 517725766 721541459 116268952 354474349 336600579 861607309 939195011 222792961 265639726 392791677 764241701 107398903 602921662 681652398 952272334 254046479 818995476 178473533 847343442 422229508 702035747 981893572 267754328 770440333 838576911 938213749 173930220 226918166 919485536 994872537 428876748 749921430 249004663 272894453 214723155 395021894 147674996 518449117 324098800 105108645 216766089 559684172 486785245 899528341 141087216 135792326 119583025 389986905 817891144 973312655 136834844 340761611 884280279 554048248 978080192 316749346 262641993 478301635 377689010 361035703 488090654 265159953 473899562 445023926 790226016 596043731 586005293 590106539 323003605 917673734 630652661 439221953 498035797 249770519 167087403 951743676 674796912 403034289 809680397 665152403 253360186 915684478 258570171 653385619 594043504 243723257 220841272 727775282 545135955 687879627 479951790 356403387 875222058 335114593 603629294 680681676 677132341 372659983 142627102 232059778 404402573 928805434 185799331 214024676 484530671 940306033 584828913 859379102 814133498 498028003 100919135 708626999 560642134 488358128 327723769 792845318 272829112 764836611 877562201 109386913 966009876 380422241 305102415 992475370 811406907 830079567 941371095 291857376 841418551 500294541 818575930 457581405 451227145 685246824 663463017 744851663 528555817 592443797 775390829 208044471 788666135 200583237 731663587 319920920 574948538 368361378 245004630 586809458 388199408 221163546 932540980 237949285 535691801 232640501 436003848 601389991 685357173 970978407 825864894 747604803 787419905 189489199 894626317 891135449 654748341 646294704 324420743 225175806 348386495 460331362 770284316 332112013 799049555 226668110 393055525 748648363 912093299 159781062 120733527 654084691 898187049 634239234 682286921 547055113 762989289 640986076 788943410 511021705 188746947 917507523 720466076 292453848 370898342 533819182 938076364 792051306 180545232 181440005 126400908 401108063 331539277 745448912 769553094 857630564 252053459 266609000 998672122 244987104 637353226 946541937 406627033 445970485 810853904 378269570 122746562 887720500 705768002 490374075 813311842 912068005 426539931 563010701 300391480 933835350 804823614 506276730 487348753 242110993 127350298 216459804 787638284 435535541 995600850 582820602 587962169 218649248 511435453 344820874 138234601 450624241 665126138 313240318 453346367 486663374 677795978 729744108 891315543 873652113 429991387 797168453 164647195 202303905 879143061 807939868 570762939 221072773 613023500 232068581 945607011 404993891 636967259 603444857 569708673 826336506 280330683 321718830 438291423 369010248 716292918 323980793 769675243 301543751 303730946 419256342 685198123 350666565 833499375 142957918 907146124 423967092 387464180 363156079 913176756 247810437 110455798 735324984 118175425 492850149 974270396 332195300 125022801 306929924 345329201 119596380 335424469 473649822 355363615 684334349 626748363 949547958 376880926 963932510 623622010 281365579 610874441 382679751 703426379 665210703 219113531 451298290 469766043 209662783 496205473 624291088 662227364 160601354 170734333 831108586 357456943 187647189 290680250 273839726 675693210 948095409 608717101 784449330 854078339 918669681 535519830 388366224 619961027 685886679 121680475 906455383 983121944 447018549 162511850 417668667 255154480 562051045 869102415 277923491 962156229 656801207 112433274 879532835 813329700 931888942 587165054 474409025 788296813 392310288 262444295 378268459 700814848 142178840 100184382 706440734 839934174 421329864 564546458 433986836 465204880 744748646 765675162 117169483 982267359 470811480 662570358 232370443 530441890 889227412 424880277 512711642 945916328 702218486 529489024 566377803 281596743 236498287 931050894 230690618 693857180 452138242 468571596 733613651 595317153 306021892 161665219 235810818 348607919 920808698 193574581 107027243 214756365 613998568 587266274 944315241 961481926 321914780 514087856 338639714 761072819 220222005 809917534 506638806 877484327 170819540 519553843 357400972 748761792 203362900 384046991 206349035 471511523 681469773 291321126 156654393 642807024 421316885 179918862 268809338 403115427 841552828 172970023 384593115 963218773 648437338 389937365 961007951 744114678 774781999 405352308 124446305 678077638 641658885 938271753 929700087 429668186 979336409 711339145 823444115 559152319 301664878 844406146 665941924 370991591 609823933 748795929 831964615 627037722 866510303 880900454 504526339 832138968 930098541 505654240 446314661 681492318 283972478 855208364 408569894 207173612 140931072 849641691 982244216 686084202 688074218 819961845 459905607 640439389 938759049 406190448 889169258 265040254 943150796 209138325 262713819 732436824 286629192 927162418 137639777 811477186 261401289 786300757 203454707 319337266 616904223 298244553 862586248 877783660 880657325 815468627 873287573 193974390 691737764 262024172 389444096 902287820 310587989 525307741 710179637 711579227 775569476 325132845 788737095 212101540 920976646 788043350 194608541 857115218 676211034 524135683 454974754 253055127 483220807 360998577 950357221 927240125 565237945 236030402 269384807 379624866 501283117 552297486 591660857 187251618 709621521 299125491 287181378 329223180 295849892 751522810 702607839 885390412 530719245 645554544 429147679 398761464 497651834 878083177 257679457 349402388 518806054 215225194 303906545 827851453 754945115 530065053 656366231 503542273 344178412 402769624 562645233 612358748 552040497 993734619 454800945 455833950 701122891 331245824 783674107 668498725 858672026 717698680 988402331 323938758 882764940 738913150 339783057 842626450 611786506 433223265 588106817 688605505 873122128 448472410 519741388 456909623 749408155 730145719 490030453 613162048 483737812 649052617 547565840 874545723 263012956 873441982 322919198 487521133 382592106 687608761 665188167 169607588 370690799 290687098 589951831 286590517 499550437 626823808 332993438 612288164 276450364 401198225 952460993 636816460 537440237 865652009 752919615 146197475 124533425 392715732 683244788 808480556 676202283 942743758 228300454 388109626 255303929 375269416 582429872 740764385 240938567 906346495 698569392 355251912 709983442 518866522 119207328 298739755 595468285 976502967 415234903 864384780 142105511 876353692 759451505 766267148 753869193 275354139 494966789 700453809 102210763 177986130 731374630 441995751 852488665 289252042 596422475 342822093 288856813 447050146 464368596 532177005 471647358 340967020 469750023 313169974 573806063 937444247 302355906 681296790 723852528 397190250 161273793 686573563 312441080 440242123 462256532 431405288 134829574 521480885 985668954 838335064 572506241 383771495 511906136 542796870 769589403 349820034 762081192 168480564 940096373 103702151 433969548 624269435 999993300 402274760 927368205 139313141 394560583 215042933 383036231 535339414 607075691 104947072 999335151 600089414 684420726 963311867 153172958 766080887 339767222 766743325 136646080 982201430 244720380 933276100 697013628 321431280 555530481 988537432 321132458 708862685 836230021 675526394 978161449 436643515 138838897 187246791 268569679 793241483 478045743 136117389 382313397 759911909 484373464 656685161 226771334 395406552 990106524 980382515 981869732 753665837 792774316 232541141 195887968 272914121 169351201 608775719 167903391 480504807 366548021 764640750 788672686 128030198 996358217 258980253 467980337 509667065 395476497 143838820 263222680 402518954 848517222 188251654 377457097 873152406 149728908 945987144 550642320 915769282 297924688 860935163 225223769 647502562 851515643 204491876 770601461 318157261 458507290 330064596 308452799 615718435 460762566 304762494 767272590 833884213 438710840 945194322 122005093 990055708 366656054 102615929 774222348 188638987 544676122 198832507 681697913 146392581 565571243 449101849 539062167 843252834 601784704 700511615 786922386 981734177 957423616 280474589 665757072 906786266 383533028 731951730 720280343 670183623 908060448 270372071 184817656 979408945 585702905 270773269 713759821 991892426 979930010 578312031 110798817 964108777 377172192 648712658 990431544 139557429 899457501 213453994 731134169 930343022 390946234 357255581 544513334 888998620 385596770 129662187 281323768 173073575 294219106 380314480 273745402 345175021 229642177 935129725 544889244 579292915 337045042 330011952 758411545 763181612 269276457 994149725 714695737 637795142 223389750 100720196 402860781 337265797 740525824 636590255 646034809 636396227 872465852 323530446 930356296 599292031 379170420 802958434 866362615 542877311 331176478 662414798 617259339 368064011 338548961 554982478 618861782 665429431 997684558 796226266 464363911 817398614 532367878 936481349 959221622 482161962 516349718 242791802 708112016 930727098 555581725 188338522 275195751 113475790 556610965 368695735 862372242 564596956 504597267 125357876 882512496 767995527 762423186 825361856 752623082 907278408 213713816 603255550 497486428 925569971 731134488 340204515 325337001 986148213 282133821 146158067 614471819 381632226 261627233 820411834 717292022 864256667 329135537 368896899 447096997 672282011 708300245 483183658 137438024 783734993 545684328 988153388 713515615 235903348 284589840 800177331 640131234 563498186 844318230 414481678 487993547 430207802 528502051 299210326 969682826 559953854 636603582 298783360 762303709 792514562 122324036 129246900 400479936 801348112 755920192 892211198 297039849 141622436 615141234 368570798 124905925 842918846 438016475 260700690 853140525 823134994 707178502 326362480 711139473 419539365 719767138 717491696 197452008 325111267 221107134 690750719 318339251 968080534 230933444 505698636 499542147 304884024 355013854 236793305 844673825 207243357 159694763 413041950 589677547 772325344 322946920 514228599 397228056 748292705 403604432 530297958 495303026 375129430 148286563 885579943 504091146 127620099 203138764 963319999 968653437 452348968 740271063 197879694 100019603 278613458 378156166 258281525 351375278 685409652 680342895 686701049 423356594 649031394 314755949 344467801 851181584 454070674 339828030 885394200 971524804 495200654 659418538 877895658 961147804 125907962 144101229 686308542 756604429 878649160 915677998 256815218 723936070 198631737 845759441 346911623 433227063 519368325 868864625 714559601 593964577 673460634 191910327 448993504 865333698 587180676 891484547 257411296 839067573 674735365 513972129 984794852 735525925 728645113 339970477 991986883 730633551 472537782 677574171 711896988 562078653 135235293 940891378 427938717 159183325 270694043 241379606 441572021 193772213 991965048 231512401 356229114 710480016 252927563 858966386 241490400 257948624 383425099 807748403 520650789 856885758 450421055 630325515 840269865 186483965 693150641 470967482 852104416 229325501 401322162 385161490 959852236 929108036 651751688 937756824 373790072 511331305 599345159 810833872 853907706 979688454 349999187 197217866 834280815 486168877 704137296 376380248 300607226 169101692 399984127 453869178 658083708 796605140 688629570 665963295 199345795 416781623 523867521 498506160 885350419 606854326 777057357 456504675 450357756 704061602 173219437 724615726 233835214 813585583 672211217 697639121 465748472 491192653 242685188 459338536 798854290 183795523 105144217 761579198 698848570 775978486 421066997 946779806 751131821 266401261 620668306 801043683 250230619 926855900 371199969 828223970 842106272 362490435 150571862 675196974 897758997 841388058 812732651 144710612 469915393 431906740 852257755 868521275 613120310 544070918 490273294 419624214 831667015 440611572 317394167 690144602 372968166 999511755 826480414 585536906 928201607 969516486 935732533 607550300 507803395 249964069 392358601 719990324 711474865 507302191 382109214 466136408 428698170 383833704 449615683 567553054 625551462 562489672 703021894 712263169 587472848 749944013 743517145 391605835 809196298 434932800 357922516 448559772 619053212 475749193 969318274 276484554 529859706 476615918 812485050 488918203 445122758 305818391 788332256 378587708 678438996 194790348 781441181 278654157 716092574 418474907 709503271 936608681 233117234 304680638 815720400 794236162 717976551 123140529 961944695 799076542 940589932 464458386 549717072 819029959 433404858 486008873 955050957 177875555 547517312 555800501 485811918 943962034 442186766 447860594 304779647 883326970 829964475 363264834 693643914 902746106 886378230 397269733 314825703 300511945 265733383 905374969 247678625 310679861 220843688 833044243 256925641 535666042 347847622 982624133 492436261 466356102 356469710 515903413 601362414 777363146 739381602 892258171 930630563 638699160 576353996 154403743 411640539 213984830 705923257 310670503 903156460 863846037 450733684 194570331 167266638 529352328 528993268 397808217 338547432 901348049 383204925 262873755 994379652 377316758 218857196 866883720 622011720 195590440 637780796 186221639 287347979 842857533 304817982 165572168 446498148 112118881 715294707 155426493 891584299 857156994 773098939 694701395 861021138 659260072 889914629 211850202 877668547 380014991 786490725 595931562 865831109 168908846 576752435 522117591 494128795 141032452 947663768 244170787 214317249 944391855 327937962 942974737 216904258 429011298 971208335 240279021 366655283 862699431 846947371 357464013 936720039 299621720 268322659 123550337 625795029 458698806 848624713 534014020 310883884 765925423 949545056 276263760 860278569 916027950 528419721 609620307 604211398 116758974 928593332 124677458 156837675 246440421 312150035 433644347 343489642 501809320 609400652 486193036 154179710 520527608 846103732 581193887 423050125 829687656 132144873 441274482 265177916 326816179 213361238 793414345 239741011 868554824 979942952 718386659 969198493 322883108 456910084 635257286 509950487 796286043 627543913 663371110 221692656 754814738 478154739 156894991 896661212 124851285 241147013 953938215 783211448 593482058 418737231 310764357 613038746 811951100 175654895 571626513 824465007 909746555 523463489 205304373 957698271 776896439 280389713 443359505 117970631 259056379 639546294 122179449 807541407 140007544 588075939 311248703 548097197 626363031 339346030 577980769 417349557 362985054 161864125 868385695 152105957 167592930 553041052 375571530 199420272 850238899 286611438 714311321 289016261 747927572 993149729 651159761 563455037 536954415 908519157 410821431 873333513 672316587 415748794 230865731 933600506 951566595 292665399 859377750 196080342 630708592 268191301 636993552 483569966 764005353 769404682 963197759 584817558 511062125 730805768 641850142 258543809 594939649 534245647 988789780 905413892 823954944 789237940 449809225 750720453 101357620 867694227 393837291 396409719 463281765 726443640 752405443 534922599 296566938 333914657 470746037 345246378 870298736 793369439 310766625 153107627 446740117 630632391 531625927 369288197 877654814 337846323 437090119 466263499 766034318 337408153 232491645 984265421 469546878 403537337 486876474 537769457 823317150 936940758 514781912 281556287 641627676 362108844 978294015 786761679 555463151 946712426 697237689 903825892 847524551 109127552 486996983 251999010 328869296 866002021 260606069 752972429 272359375 601269458 645834328 162551044 491826259 393809416 734903320 269033238 980448109 878662625 704561744 970829740 563700278 891218108 517808246 583777549 747668655 590914344 944491345 913741190 954338321 122460766 700214923 809814648 518142085 628704043 634734488 786195094 143727545 745604443 368459224 430450203 724610097 182424875 356226817 734812074 196293983 405527431 762945136 113602059 664858537 516857034 430634832 352812053 372544872 542144568 705557348 656472460 515178225 619588278 251993516 395791132 581739554 553301333 668597169 953221425 713025662 333919570 371470605 942485843 367297298 972544122 250155196 148291034 584492758 676288683 242291834 720105316 186668359 394253003 646588773 664349874 590157541 370128722 107375241 173063266 355045947 537034093 392598762 861371635 904936719 112217771 431847708 519603986 994220056 627314599 783733638 354321536 350878501 948004725 769305419 707851174 131181320 995284845 299565848 776742934 941710610 787315582 464262476 678742941 699697987 635759813 563147146 930681847 279381509 987478754 494675438 864436193 986020844 612342158 561168262 964022158 383475744 351940938 138559514 203599587 927038865 769991586 972683966 274636685 837100682 602666803 762746925 869282363 808508381 734464856 963214722 750274431 102861674 804761834 626521882 921323882 325657919 934439126 663225547 277992409 340472337 979801893 591471105 141107212 634808391 328757173 478930390 452686961 899641993 657369978 603463049 567233693 507013827 100750815 902937628 183598554 769188868 818605212 717648239 479253114 436145496 958389602 986967641 198552952 461081217 513838468 965865621 784711860 208494935 630228628 910021931 655559805 998055984 484590389 782758378 648335204 221996609 718510560 848480929 936484670 746664191 479961038 599511407 973339170 869456608 656557393 153170404 341233758 878243618 794709931 683198200 154715247 654959825 670688272 319006356 444724312 232707975 280750266 359842021 597750984 412098780 492174908 762261873 773961163 130478193 586643471 617209616 178568936 922190181 228155909 598044531 484868701 748432921 336361156 203886455 583162168 764790388 324379479 111417106 437663039 281564852 724631604 593055677 236433986 549030400 526140268 718912504 641872697 909073986 100979287 122801797 150309706 678561747 468378477 760794083 838071813 919336206 281568564 556845662 681249104 113050421 938337826 425118769 666854504 509124475 904952400 896538360 466506203 486376022 905517939 735790053 801775495 680067344 755334857 418066414 392190630 830478165 741217094 468428469 570474429 580727712 868499495 295210603 321389778 763051110 988042279 834787544 989556172 307094199 862841214 645035089 776260695 984198529 583785222 132538196 464509392 234781692 775674619 854194186 828850266 435244056 289150208 451449245 304296246 177127120 955619491 175561388 597451239 101186221 805602354 207606251 312464600 485393722 845393676 706747887 880367311 416129185 511067306 975130261 401883577 780740898 599201878 155340736 287319180 521556569 759461944 325199997 254819137 302719249 119028358 327564031 152514885 124658686 837239670 653960192 376553523 866280940 894455236 208861218 757220238 616673315 313690201 518503429 284745518 204654591 172854259 998193385 512724045 551953364 867330927 786746506 258497030 505344541 467459114 499054394 546936856 539136079 306057331 505040660 347238280 965251857 368471545 579540942 889654346 654188969 160734542 330324567 433649732 777613918 914885058 422841135 104085417 465289883 833465982 360129461 390367986 747211597 820320008 825990205 142621805 429016780 210489479 775990625 414079969 321705547 127608183 489590348 315437135 235837829 646781989 365106599 859698282 806656443 821996336 705423226 929412013 400277721 448668569 224731383 100638926 686792398 310081712 952643737 718170186 216167692 100398037 879682883 361378939 333500351 992547187 332601674 376907872 545889572 760011117 397482679 628156864 297664630 771458598 612790265 818117996 207835821 515874537 594147352 593764491 202808536 430284749 591317265 362994492 724438620 544808803 212292422 458960072 733533522 156540496 554675815 102293214 442984036 709203705 300202373 380909532 399908059 987331774 218500484 229169336 549877613 135573805 963633940 714393213 903346446 518332449 995146883 913867129 988377561 567479319 304435263 518054682 493968808 520417199 230430191 175264272 611497168 561586106 837252189 984581287 513162283 770731199 751260632 322877243 877392968 575167181 504262729 393448843 735340258 139012150 864055185 907929784 424976546 641360681 457356636 781130207 332620849 683096559 663317240 689686030 952004006 848344462 278621206 835985628 405260842 405361515 649275589 874136020 419673481 135409540 899166430 704947412 612556911 186105327 244520099 187386931 448613856 684441291 627484363 566090566 713732964 711769675 307000931 950841122 119558280 408622113 182676844 356624250 461624398 381100498 250329852 783185044 207431439 823000273 456045406 326552288 609841165 678588297 104284232 160835835 481970274 738318682 755434242 703752033 436208653 603190828 748207120 596128797 434584433 390244917 134442053 341069232 139105439 333514845 596423591 188021501 385477840 795418587 219706754 229232223 372599298 240023217 985266759 610058225 827383852 951462576 706003895 343096360 557818410 795641868 702528188 885663653 428714421 807308735 549739114 600016727 207664430 473533381 312478912 119339665 993762122 707356081 741644463 710203668 377346107 499280716 141613625 556465704 561568551 569516488 149645122 807952021 909283553 680850083 978990458 852075657 435239549 634192534 183791022 678145940 144528111 299777608 339042105 625662877 390945790 390108743 192072509 843147073 374630056 221873058 384822535 517488315 740714385 583495226 332601486 405738667 762483548 828693228 745093638 749110662 493344286 200021803 523744602 258301340 922460134 347472653 968082688 427197664 616688924 830887394 278353469 581112351 943658860 537658812 956705935 447316863 705859829 257407732 926710348 620683624 710063497 398741672 699050867 799435641 112045962 520184400 578049256 272887088 105587061 689944341 132067657 237310419 799118332 635215759 285557677 201218535 465304028 449682241 194336098 910141067 914490256 673664657 663372119 517747701 555046855 967518197 162986485 629163528 552770337 187414685 517718189 878216681 592840779 718885253 947218768 593889115 837682738 804971938 642154633 778147330 405344138 707240052 466449199 531967911 390431869 267400955 338002632 609029132 512143851 283906831 754928295 119869711 571526292 742415176 639811296 816934893 346664922 284193951 926673119 559792844 815535861 902145166 639336742 134825009 382859974 838675544 172449204 554481350 314209363 776106123 366685522 105429590 944517925 449893972 895381240 973435994 516041157 305776364 567887680 405172403 299552159 865313498 854372280 520855619 669751366 702047811 417645781 557210081 923373626 429569438 331050832 294964186 498319574 701582139 844487563 324324000 906013594 925554454 857050610 167656074 948988738 619082012 993039723 765952731 236202540 855699192 268395628 748834742 934396607 412567103 116529737 734932287 173823415 814419429 696953020 376820448 930231783 733651206 802224535 219787953 531303641 231604301 214827257 636199222 868710565 895656133 265573378 937491946 997095463 659029703 852672310 881330851 390860279 860785123 186050175 228119591 936204399 474655419 377626591 616078379 475383114 252215794 477867835 581786614 821549995 976473899 291382663 174128333 307103339 243820388 162379481 707658126 567694261 356238394 303972358 525505899 470352363 870603155 707044266 424536434 454926261 266469707 474180824 280685436 186702501 416437400 577669169 131620845 930285433 596170998 202582574 565007049 280225202 548890357 122584942 288215202 439608669 112653111 585499618 104897875 917880021 824113441 994003372 682309732 332570998 934778078 999142363 278228068 742757420 443830202 347777368 229910230 298457173 801213875 597241356 991212069 994655475 692980596 340751277 356468914 125310502 591686983 750010346 320834018 574118497 185653046 118353070 847234940 104895215 563256655 842207424 716007412 894772163 427427329 717152263 702609260 927692951 317379544 430826265 218103203 622767147 679120370 958402347 400636108 992425402 944618426 696762242 939378270 211213388 180689872 968038586 534823629 657824023 471726001 945485746 444436053 780145598 612744237 472461916 429343655 634971714 169547482 202890180 254699855 292863465 757722883 972574154 343295663 975755957 715882638 808364834 243439618 339929087 432536011 745145327 654871790 380572467 324500416 543373373 360737266 464343605 166595169 276965605 404102298 128912354 458685155 874480348 846691766 699694778 720762186 100633807 479913638 167140341 803576141 507542730 362433454 562008885 701787858 209194931 976874383 147158531 129475610 959173255 169108258 402409941 518399823 574941579 197922507 494677075 781505709 720914079 321432195 152546001 608995830 768064771 502504683 105469533 831541272 603422227 217765684 308523214 464493832 783547916 874851860 678380111 818360275 346119819 750378107 499579791 479049645 594919415 598347725 804817456 284352968 253045483 795474441 674996411 331237019 867749817 410210554 806324856 584099678 225566585 283290338 467065209 447051813 876689752 530287121 681048930 435075322 599429225 125622236 929765298 217443631 495321473 206304055 541535311 360609875 597317218 631249597 892891833 830698974 645581529 526835454 982884818 534189251 481189677 492275320 445603629 733788612 827800649 492381025 739870869 711180999 972552241 483064805 777070059 428801387 752754345 285998065 772822500 139648367 194009077 584845262 791313581 919724829 300744549 181752594 454591427 546896054 107838940 345581890 419245336 198972649 847057940 733436522 240104495 279316639 486014137 275993037 597417572 418489022 438665401 245484141 672635080 301951912 734423574 638239327 814259173 292035986 813182019 313003484 444825801 848147785 168666778 667118766 303832363 993052855 889619697 357392626 879764607 714781226 335008513 627687266 509309725 847299229 782594226 990521718 967146056 156684427 924338388 874050244 259579124 523020588 766586507 240518307 276104890 323084487 850038721 960772674 397199019 443093891 613957068 157432624 489092888 503435277 129495853 716166539 769668288 853335581 164657549 878317343 409630561 502396577 757058176 339616345 855228483 144963864 584011692 880190801 533825466 219501196 578051857 381226682 458746768 665425071 696633715 632738322 435634699 773546420 782258077 152012302 466705477 269932176 790131063 801506645 865102518 609188666 675309916 619173799 571378235 137732986 443242530 357637393 145749461 983371058 244833331 218988236 655873593 419827923 991230641 987756459 737903220 183002972 703429386 305203785 520556624 676335682 461646928 326891967 846182517 346385183 881175455 436641662 456301996 674002002 385611481 619206184 789498559 103700332 631146543 165441798 779814194 723006351 729880920 979059505 943838287 920419575 732923153 876474421 437294110 854261799 874384006 627677251 357687151 496784496 950375429 621501348 554934203 514307157 882976223 814413570 455316330 154510385 167427175 295954164 596202358 951921753 592065085 394052980 836754436 771002990 317601388 255792941 976777049 337507228 535342885 550016629 109871525 894790388 660719877 435464836 317752032 514979181 447597351 214533051 293519670 401359038 326388794 195338488 655553601 153856469 304906283 162344225 480660941 294756113 907766834 280467087 920200344 676576343 484842339 338345917 899800345 777061482 588162211 833783656 700708096 174466501 686340362 701968370 406471754 735138652 667233061 773366251 935581265 916395937 330637939 451351345 612970180 334992394 448380787 980384798 968948051 718645544 726057247 961317025 328467028 889587143 709642361 404036943 290232229 183473671 495629842 615625955 204682759 797576076 312914882 267091962 693780144 855136167 860592932 599716649 122644237 848453711 585230483 948126432 464523151 279934393 525886378 695200559 407869326 421706130 920258171 891774110 955187350 930363373 218738435 317608619 843255081 551887515 117350523 552643237 727227437 353745282 980948681 437403655 735136964 349114113 281751518 116436480 771173180 576581116 164308600 568394204 296091359 399331783 905030415 227887716 411039778 838092780 373428458 672581264 203823568 324985358 295909794 170729760 682501359 732192707 456841024 556556301 834072198 291088383 304236301 260651184 943458258 629972836 854473133 441055964 723562912 116563908 450093007 624651729 770919984 611673898 219577614 652480603 734100035 340177028 402391589 920166211 195900451 574344915 376774490 544293275 294740908 536508210 863024822 781262000 243865606 619140731 514988879 500237682 186628870 503469535 599492522 715665832 974216226 358478211 702447421 939258517 686112067 353244419 147157284 363098615 942586400 220033523 895733138 635380347 911418829 398161964 372037160 962446240 620096186 238477621 747159497 953400783 938449890 243471837 351068963 441044191 839181687 247133863 755820147 767057619 577489511 912413135 342752607 193430039 837603575 247035665 283807310 517287012 782641287 990883334 913517805 984784544 932695313 118550210 757963296 277105490 230680806 822527503 454441601 147429910 584032826 872118515 545186398 920645112 509776773 333622571 324719233 652236116 869354344 643943828 887574386 433504040 179597136 476934720 835704344 766087290 906920181 940489536 291340129 352979503 718427437 349065926 678349837 173052094 642484432 324521286 416147661 620335010 385401089 537794319 190211734 174096125 107702267 666335949 560704564 560312239 522530641 366412076 961294524 688168863 107680220 202834925 717724578 891095520 350950950 500161300 365283816 887478819 763144110 178815798 964249476 274879171 500712581 387475668 378437490 377600153 487717831 272672875 240518529 446648871 216569562 256560151 869382152 891977910 790962970 905019443 533972767 936486948 483406290 622595652 117824261 227998280 591170429 702352967 857859488 820957041 429616720 597528624 807617124 143292108 266116006 146849995 446937546 924835966 839969702 212965398 819496161 147348235 938967923 393596819 473644428 278757244 853893566 130432976 773452631 421953115 612377793 428238564 444400592 189335163 120903410 990935403 424680179 776440128 258190232 106207813 219855543 516264835 102999756 274237303 197711242 983231791 462030039 945069239 734143783 438657894 270770039 145792985 173846165 740091512 607039436 520258049 166671118 717706801 482051761 645352507 870327334 857505565 275598929 851285546 319744615 675910585 813993875 390257318 134891816 159165436 511963048 859800124 288661576 361029135 786654100 574521803 778762182 624671205 469411638 695128817 861924307 896269569 835295663 482878033 453003163 635162233 299175241 681978535 975004418 368793575 759904631 336468672 983516620 104920354 210860773 165918148 486489500 278584376 306768508 422405376 350352228 457705839 574034493 128464201 358427601 523545320 284969979 476482879 305971744 535976109 461372836 806437225 145380169 557795348 403381082 726430890 577810559 840429741 900550684 981851466 129430762 656637578 221251065 601315766 482070969 365517228 215129588 552889671 605310789 586939185 472782243 714501519 978821219 111461037 198929195 556011268 923419543 906083479 710693560 163488257 683789412 489003428 689196657 870801624 775872053 514920434 208730588 575925705 676642363 416928663 804113307 945358759 450827803 516969761 316071063 504974908 343547524 296425608 796335214 626208003 681221759 147286241 483858120 736221904 590776194 759915030 443161860 137098206 416902528 520486915 589428886 755813426 413166749 983512361 529712889 453063345 912251585 197880841 893020345 616395716 841540537 283957565 851842952 504441972 528219032 282336101 724102250 111100827 797823916 981926830 692941012 253353364 353714403 626329894 612138576 475384482 717125963 163671344 642287433 835437103 753629889 945648935 755473977 986670754 727274766 365537232 355756246 668644378 369490523 920589220 704509083 566214989 737308993 587898458 985071715 529397668 648233101 484676219 834864345 418106314 734256112 818666479 451825143 246555248 423484317 777362224 919369689 943203604 954110477 135778128 434545730 821284428 145419638 198804875 271492962 518779588 548796307 505678495 906848959 521478102 242109174 697340838 996396924 519273601 230109712 617730269 348137398 501680347 940584517 715415028 530967372 695947937 180371804 329259146 807239440 763882899 446878147 360911399 386870516 969659037 314517699 350419769 883278044 972651095 354157785 905451999 787876031 586269482 664802016 831847480 837527236 966906540 187046629 594972973 986277466 937327528 655469351 288220242 821703987 824940745 223079977 733899785 991819774 152578804 860979366 121888332 823012830 675009311 711088838 466368143 630429785 951389920 396905494 359870093 281543996 761916173 186418254 631859744 720570497 998053525 702272202 488529624 945384513 296385365 474530926 703728126 952218421 427474847 364728001 774842008 323283749 960598958 624967382 459688841 471078183 498652351 660560547 721387011 988886533 264679390 798334768 291125230 631001459 132315057 176353922 869434924 867227249 862518544 891034339 717006145 563145532 302993751 188224074 328441824 550419887 793868552 998490507 880550553 322382516 990691144 477121946 190731720 392087358 939608968 625706897 182091761 123240889 856991276 885887626 729186933 120177613 960767822 375050053 100985727 963973319 854658230 100851535 264919590 308247755 928636545 298708228 727973438 276268034 527400368 647742133 402440819 457207263 154639271 241796272 219223249 856037439 275245240 755325605 565797435 516333552 992272829 919506854 294720596 716775466 422231193 607082700 561011289 523092209 335469032 243620586 648084263 687223180 443398625 884702693 576680342 700191659 140561905 693171736 665518373 596259174 411902269 240044921 486060095 414839185 967961161 875405075 642412178 493641306 950847036 921479602 651593309 897519529 933639091 898186639 601199849 316520922 309825008 962497363 947157745 529169148 234180783 270732940 909163579 899857490 258121883 902258826 628048418 794262393 801855205 446212007 487647555 574171124 198923950 400706733 461254210 243418125 688336638 274754569 862563556 435098083 306254546 254066107 577543627 177381209 654912047 826226898 953547897 587476150 919993035 139307433 852715293 104130311 399103168 386405639 532588984 842234325 848377341 550680619 448605484 395537315 416118614 485700893 593953850 896786700 715299296 778550089 750722931 998306800 916955618 341415233 943679773 774772369 684263143 306215098 794975606 427299742 444528013 976714029 433826482 696606673 278940155 772534194 450682894 173361906 342313507 160010122 750635642 434221748 571403180 812647290 706683847 259996327 357785250 187183021 666568046 803187574 311699593 917303383 268633572 652428136 153926062 373365113 817648538 571580749 835121280 499924670 964742227 166398903 999767465 976543535 338741732 542245529 150854830 914470641 129089052 915217805 666710325 253558746 522672873 751160334 868440235 141627292 340117705 385467609 174881194 747763600 400992199 120125810 688263510 485980759 740950079 832597534 287509914 773023619 245292559 728197900 915841880 808689446 474512107 383525539 370994011 550528579 793014426 233768340 700881108 398401698 833842145 285020924 127021978 555086392 854762338 550853544 172741118 598975162 131382715 965917388 148923695 848226462 265325392 309137732 688281839 210140606 838779047 888204608 976998799 339281121 543490345 573967872 640963036 525731623 264375814 706023458 369059554 465400774 898679990 186491459 103187995 196762495 468062774 574994329 321280613 952895029 978520200 727498062 355715216 138475977 145658142 482046274 700437709 902484572 580697936 386091090 869193911 149937497 964196075 989661458 754293562 996866138 902034567 266519219 762831631 677651358 411938631 354387295 944844274 287913801 129530492 617270897 731859525 817432515 727623193 773563636 432525683 842946056 806769990 440952364 265483460 968578329 476972732 311010890 825968750 746440999 854884694 986151580 772211861 401910667 574629438 991602810 109534490 501095374 793376545 572021260 992894016 145362579 293227887 213314598 198141691 700127845 375354501 498689904 872893773 866200347 784555811 642664435 531446387 465498215 374798125 919891068 810253136 853239457 988545054 856178806 577986994 610746231 923203845 227044996 299552309 651423515 714429707 806896983 739976080 483963056 195243554 497821184 614930400 708011692 603840414 267331924 376226426 589710313 676291342 943389923 927436528 863914906 871439803 253460538 266932380 533833333 511930626 806620527 338336886 775360777 203497519 106074185 586075774 835548933 591469394 373297512 266207988 953218182 631942521 168742956 849889656 883705113 939541916 596661299 326925261 749918323 402374067 172672650 347859688 434575129 923256476 133122057 382692919 124497200 791175717 109017843 276503434 721293375 700164951 724932158 523528368 966249887 757262993 673372419 322840612 208051722 644315997 944065988 417889981 365204114 696706318 694920696 747209695 803232113 554002065 176907107 363164591 337444797 859116408 248711759 233632689 818795891 731875824 415044806 400090397 998080821 278486732 994294981 977586385 379115043 641916566 596999970 865978323 601630021 619221296 301617321 320414421 955928545 242408200 719263927 220782825 814640754 194016584 496052956 573605265 733934515 527282837 286184828 549303070 782920702 358388826 535848588 332300069 204802057 697921542 466830215 584987791 447022859 359294124 113189066 786907139 531254061 982219259 137223169 307040251 226895075 304494743 719286460 600788168 287535470 498191334 435325522 973251488 849025074 463080147 949571613 240661783 564514742 346032725 193691416 448144959 247501624 775153291 877325089 808107117 468696709 218918404 833672169 702002690 502285786 130869453 660658040 569505102 164678540 429176479 134997789 729043423 241052794 584693510 916240039 788763264 755957535 675855263 218872842 881324068 942186541 320672611 309459373 559603058 336091754 597977634 976586598 737120306 176000531 371121198 886725106 501576185 698065172 303082639 549201236 410971443 604147358 785532177 849252109 110829962 851734496 117625879 890821813 607645700 107607905 273721899 673825241 215162463 401874575 970538599 421261640 965294000 117256590 883745632 814763460 190614946 286810469 515916211 587930993 132033634 952451281 702382101 563918529 871190126 654734514 942457966 896930272 938085223 119423884 386872197 238596724 849455426 395871064 591230346 430465617 102743684 821927276 245934096 771493937 731738481 558695456 609871845 728188067 281744325 798506857 140002744 216391672 385764162 896055191 401764161 372548180 858304892 860175602 511305581 574626837 871505284 156757809 867220858 126862785 632429752 529475366 475694324 879399847 966651813 850076380 132393478 814334162 977874781 304225779 998256799 916557622 461680115 807490173 822290465 323704500 239865909 870373340 611594039 584046679 777857372 759604680 895363720 520590918 423942156 131865006 393359913 762814443 463912442 392326445 266111815 559201062 611508936 458696737 409011010 392158935 333848521 270390015 956793723 101615116 132214732 735532646 797061320 484931020 229591558 278194442 373879046 467252321 949371489 393239941 768708174 464044054 834573115 671928555 885331196 182676976 108635219 745702459 444922125 252385924 654039254 819130705 912401111 500228299 558495149 851255031 164784251 295244361 632752276 154918585 299108534 925138323 657586326 360814801 130947030 288017342 913954748 945252362 486285221 763159343 714028028 425232826 148322063 708755093 121009656 685041681 217025056 275783301 616946874 859243083 209140097 845205477 410198923 841940049 187872864 250600541 410392219 151908558 791809469 409595671 999777732 203107133 376903370 848213025 267702421 803565199 574290991 151534858 798863527 266427645 614274395 867043113 853958337 745414351 640628513 520429784 834412315 281461382 649513567 830856288 905389964 934906373 699682151 630958198 254395189 791760804 711068984 260010597 932777196 914142879 537342761 432548265 691110698 692361376 520170334 248350184 981163917 109259885 161786236 509467061 548895024 822637599 109763771 547997444 879768822 969342156 618677039 154650358 158557250 649739348 516247647 343373578 376329232 214567456 247048035 425503272 850403210 408798550 979502717 666125105 240160437 544935302 210880354 811884525 629416940 764860316 799539307 781510107 756561213 397552980 979433145 613911211 144221159 554009836 197797685 237258235 611020950 700557984 298812234 819685610 971790723 689239119 522362247 629440365 887582571 169486614 522246457 591526909 109245923 384862325 954886404 723636020 695164694 355153373 452496410 746824874 844567581 289806596 471740451 254135326 399433165 989433059 337176367 164706355 458556509 487749478 430543648 154712152 930954403 604682553 921467409 206587884 810275741 873224891 687873383 720919335 676968006 736917067 513374380 301332834 840367094 932753413 271219137 637815574 636572922 632237435 676142250 641122353 702872095 259578300 173689444 937420535 211740443 780751518 998677966 585155982 315603207 421114264 228764951 548223262 167351895 608576433 150384715 458323715 401643757 100934223 143078160 837450821 799446174 889439096 579939700 861424870 365648559 208466650 626249779 663621414 368890843 401013933 539885515 723835117 663628070 614749487 921829878 818488404 731398416 538733821 743063197 982678011 888332202 378652279 426477522 836065562 476732349 785326053 707665526 475111539 761192088 482377082 250418415 981932146 511333581 887769024 597620274 182985159 986130297 506568487 404635312 258755658 769815037 994099787 767454543 544683522 747612291 305362432 263955969 161056962 747247780 589126090 320682920 718669016 178635472 871216083 807040429 637009928 865926270 288982953 924143370 788557601 635950415 452048228 168858762 231942376 210898399 345509517 986220490 132446020 724644537 979366434 264021753 168774974 850702308 955355043 928991832 816854826 406350951 380647153 812680862 542343011 907942309 582061202 669116117 739783689 522842561 640380496 714861960 778908086 860345070 542681136 231418119 969748189 290086569 213015697 498635585 893335984 997060776 340871172 147119400 362432731 149197665 483717271 616316816 515727995 569519382 719150109 112997565 482191450 235977168 731365359 149964104 600532738 978006870 683412369 417779475 993442841 287673466 248478711 565877693 405993704 536447593 466863705 946731662 326171405 203606588 408747507 903372562 826591780 490960864 856187217 188849605 494532482 641117291 503749320 296716468 604321448 377694046 808059469 960164687 614460243 560873090 406218051 432661883 199980020 363824150 203528910 268252065 952178799 695858579 855594018 265115014 947930923 867500916 420005503 835908892 503673617 674759982 681993487 290130681 782930766 293456577 197045486 703327157 220345688 650631245 597321235 679857161 446135937 451715779 372970307 391131100 488747728 673417189 775522872 594399490 312802942 850664911 683529694 346556985 548171173 451561598 505289431 934547498 175541176 698686222 943140431 815332364 505889750 763030599 526785923 422184580 155856053 151359251 535633277 425933169 523036713 876282620 949289934 274831654 786748630 409341750 968644540 297675401 278970426 390184630 677091714 754530237 987535410 587964146 768983889 962628959 239755285 263721272 547342693 324900488 334972170 933570169 185934849 196232353 245324266 113950917 799272492 604132701 248714141 938515553 840760464 485754457 402068821 202656137 132341285 101428974 379173056 109000342 524095750 820868223 389663454 870738009 350061224 268478278 628822307 160100397 562078505 834578442 916964242 673752506 111132288 281112125 829413960 994838872 174000765 235508689 227203101 868343850 692225429 666378738 838955283 780157454 557259041 601719828 431086929 149148036 190903183 260291474 495057948 569549963 947621243 255464726 341047751 231188359 740436684 842555965 640458681 594934102 390338504 328055812 440496131 841281457 749229516 446351693 740824831 600354449 670647083 110665963 966428744 457766504 528775479 701394607 946897322 234433035 853382560 773551284 325014572 217031622 882948462 249488509 875718013 945998924 691320539 823749479 896611692 715690669 182217736 165278893 946970582 546553682 275372362 117745285 543326460 469191620 339877688 673600759 644221320 807588322 774837928 218684259 661716152 933855396 760604713 492393199 630631202 220586610 589414013 144949546 807176349 710309101 718164699 454876405 949091712 128307688 358505119 213678005 514429248 725928735 793702579 876439990 707561063 807743535 742302736 243728594 523654734 476117531 554644684 948699286 921716353 869474866 864292974 328069009 302133024 199026600 920969916 498438545 260543749 198965000 309256587 339490236 437236282 237410683 716856116 653807566 940061472 691218980 259254567 282191683 161544839 498369623 724765140 135654371 660576373 830713597 254108799 501373287 880543298 969584368 938770461 302653001 729414547 659162770 708992781 631978449 638858025 354848731 387217550 834648212 843316358 665870056 306287034 867623874 988834573 937528028 109331601 928797252 209543150 123982508 565121538 787500860 866494050 637678167 603657901 444138203 164993183 853839741 196896937 887880898 523164604 641387006 134251456 624264701 915756829 853310424 960022386 486001079 235535534 104448201 166381079 318943148 327469760 229635292 726214395 433102041 855394276 907826285 773850058 938658753 812855146 902316768 974027088 711804348 907699215 441643483 336993853 567510288 878534348 525946147 482145468 678279677 159943111 640280735 571079255 344523547 805514710 559591789 873868303 362386185 447821104 558996515 289893033 181720114 379690647 588102094 741796229 248141445 150266574 331733761 858516941 793765232 984174292 421265111 849041793 140490943 707077524 143833171 108777762 494800731 676747104 157483003 693991864 269317740 674053495 260847700 976329919 844929905 484385839 420948349 492399248 768416691 296145232 199028133 406870068 775748541 489927544 675226329 318190187 738270686 211334898 646110866 163420915 328808914 262707871 991118537 522439683 227875105 589343429 616110796 720023047 248809433 482648482 644736830 272449699 216197698 111836310 994055932 326244056 323333194 178681811 372088678 604392951 892951955 222472955 802261157 171137297 530832559 121450820 113318948 770194435 282308457 899258834 861752544 624923755 771029369 161225660 777305320 205386167 990294039 402404308 383372027 553280326 626186480 900874195 663692151 673515813 441268282 777224482 898649979 556141881 382852119 863984194 942637321 338237326 969745596 251001358 945248922 795731578 522997308 205057428 108122959 228702286 249407427 872231393 734065408 540436350 975366055 664413368 550947358 507538996 821166888 211919261 208963149 914532485 826718905 701680270 919432796 520988442 647496787 220984690 929300914 499683336 961281013 237521425 271748671 935900381 440610940 510793274 428446168 943755998 468686393 183649308 910393210 790254893 837829879 746993115 670373405 436784755 880342995 770617120 972941124 721500578 399916183 623219308 840062344 427570071 109334936 479429760 404325719 704557856 998067506 706050674 416859825 941422518 749856908 860851261 564758921 612680619 511427953 805060308 706155525 355441420 541243424 268930972 775672333 350545115 332149847 208092061 533168884 902396589 945499514 903715639 436726773 690889295 177557013 595270780 614054757 394537302 669062823 673824180 215646661 994017858 919816199 445988639 222497086 505668648 568785988 972948224 552368083 437789052 271871031 303528227 828692659 231590582 724398915 173167977 612673775 302395932 381985672 119297060 383472945 496754475 163083596 135936447 841577458 409540551 662034316 993994329 387989931 475935566 689903725 938106243 422304857 407886391 111068549 904456458 267179872 451303017 449202311 800788436 798067916 784383585 326224966 277217257 664545532 194765538 277599007 438720117 970975798 224319339 695256813 497179851 677851244 393374099 285067810 648952068 711684786 905025612 710746120 886446885 397284813 384497027 280004347 758711901 759206508 328819600 647829149 689477761 833106659 929241152 281529857 399501982 123198053 660927000 922828748 508660115 797173113 633573144 830579764 501996996 425082349 926166820 737773467 260134974 726523068 283121870 659978777 753941710 457803318 832093706 246902817 130195354 689864490 513658486 141906150 451391141 950165020 151275880 531155392 136977287 681118470 595479225 883922526 820695212 138434407 306166327 784065803 487146866 257678943 226245863 618050748 967182530 412893060 392321804 830799864 139191727 540776282 458280369 869629109 482157490 471199931 322441807 581520418 818274553 708449354 690724425 568182547 933564802 831357654 147705914 787111194 709361456 455686183 864249756 254079497 541811454 146336780 345349599 876518370 516565280 806062835 920981937 409570340 429856797 277501587 562651161 266567736 992908159 958502473 348340459 110138191 430975390 382543788 951413806 736713895 539467719 415832977 556116840 224508044 962331051 453279208 848790659 223480067 534862396 746889929 931582328 383805329 736731515 290313075 866177448 440231490 278171239 287954910 380105916 388797460 292606222 779676338 941571763 514325639 479401252 711393328 876625000 784095978 924614616 908183640 492830424 178958411 942292217 741491421 756073731 609240758 978105850 413914686 582090153 303729573 187090756 791476746 574579389 906618345 134604408 431554472 633511008 352632123 429466741 394533901 854927232 639175572 544830950 770303964 815056663 950977975 611951488 450448347 360026268 859452086 314822128 256709862 872868456 353273808 959602194 868877638 577707618 976026987 651968618 833950042 287959363 748292546 541478709 173244921 559053124 669571876 816060291 163496911 444887903 304290077 154150379 539419469 571786412 758862257 917136799 502520683 622095018 948904844 966334045 316302573 429951819 590395943 699329478 901221021 465601245 766785487 603596262 398331459 401791756 755400250 434684808 663157284 432961383 542280596 624187614 325681040 572927143 115464871 179352089 678341455 796660306 418268972 246722938 285262892 820110419 259133664 644043659 859488136 937572368 299290163 496089627 437193071 968116595 602611986 342740230 533181142 994549990 490811286 770638723 266471613 162632807 135123345 743210168 957982913 632440005 427426162 929769258 924557096 899747462 255389379 546284457 607028711 530648060 671630445 527136857 971792200 862419857 958080182 711066543 647596429 544556282 321175422 213866404 844653100 702674641 791651287 561237735 843549136 558869358 597127136 102518186 545259890 865179194 421322821 287681123 466599623 635216571 206342692 360456985 466130231 749806002 526503836 283787254 379623418 927064308 534189715 317614600 898211550 299221611 123579031 619325344 633579181 889635418 606542653 699379938 614494780 863792653 950072442 397729285 386728911 820903740 263884082 267307809 402381060 203806373 647170549 171814612 354920472 400419271 389898543 171268678 442740359 427416298 677023658 549003109 422228061 467369801 672543979 159675804 478787589 346020661 204497094 275265241 604666299 342762062 925914867 879929392 458065950 540623084 458779637 745335658 458290117 369979505 520836293 526006025 410444519 523239679 535498099 922176658 231607485 832955976 148672912 327150532 319807356 839528484 787141549 296865838 605345809 224920334 736123201 475031795 776024810 864885121 919129432 468086392 565464792 656520830 998951969 201925940 372572024 303926925 693306468 188786205 804938866 128612187 103306980 776166967 347276472 175323068 216440668 219703668 146921416 617704176 583314573 658594339 542450652 524322719 384286400 859313899 968712200 286733668 117027201 607050045 648464683 500747483 309187974 360190567 357024151 974020104 635729048 791305579 809447494 199101502 697678195 778307550 420091112 921259396 181115721 420918884 492301647 564018109 132690800 838210705 820484880 180596254 860073953 740015169 783393238 395402537 453152460 558727249 989062668 246415146 465546466 206086003 697057786 145543602 247267808 575125155 436241351 683477424 423256146 745537767 277759383 302929146 819788751 990423272 657773028 497250141 618779644 701703425 325732410 386348371 652835846 456508180 645514216 890989160 379959316 858986878 356614816 680902584 988941709 512653738 289040384 290346261 498846413 532864583 440127328 720634043 110240467 552728779 542221462 633521322 449657568 809962089 353289326 284407887 775923813 369645499 532401356 534040477 678451481 285146692 566315220 302911360 987125989 572949142 646052646 568116107 523984859 127570558 750085628 827348231 815978547 356961987 170461059 390161381 895908488 562939250 161642635 387861453 242429417 499091822 597016042 745891019 322888751 413988208 523445867 310347314 638842577 664460458 563328936 844595805 442137281 476393924 610952960 783506211 963958726 644610871 206814570 124166818 782791451 224008824 811501538 974441172 727333944 566114798 827527254 125789291 326794150 578384073 747777741 404807521 464403857 967691311 720454107 707852909 417047264 614858593 962176015 963559918 513191975 601970829 719193202 919428286 636344688 138177654 456904371 533077480 596422875 999940809 203254326 236990164 341053334 682720862 855128083 231000973 490620194 595250309 659890285 365486822 311908115 898940887 182956423 158735701 914399349 165536961 633912378 380693277 539039082 491209119 828003781 786440424 961195096 631291689 922926264 184755125 216317165 475436043 247165335 709801614 213838079 641883468 996907767 242021587 479934478 997691271 576906088 899728363 656692574 734958133 920788730 481946319 902415159 719554100 640989496 995105237 971007193 202907258 972868062 797893724 527693845 119782562 254488748 754588992 366420590 205503768 840294730 665492549 951146853 371856840 391565233 869260209 648080247 537641008 787969527 454209767 985178914 455803273 967154150 551666874 358410542 554186235 816115272 802482422 579460244 548030471 306310817 401491570 868328445 353752226 430625989 303093897 983622779 507770971 543536674 357997194 533060365 786267623 534510635 944517148 851401802 418310201 843170208 657335513 577841491 711762162 843585378 469283225 312337277 361560945 469865561 595057955 877875173 739093222 650653843 501455889 691147693 454640182 384142350 149718591 394979641 698495436 660733923 582392816 845027148 743539890 492334203 523895237 938530505 191373656 908274325 339654916 886059105 264041883 428619217 287334451 100306348 324258000 968980939 911189936 959179303 884417487 205825612 704535675 778141117 796796619 405813076 254390022 406018033 107022094 995740909 489395580 670088224 887890103 206337805 274393543 684982235 875467672 396375492 502144918 602902113 521765319 916499702 528439870 496137069 425424115 845483856 289069645 828116484 546591887 838508543 946183868 344915409 772606306 481608863 495740764 121230018 146553090 141672136 826464847 581847441 974418393 739339187 767263588 579528070 452072028 253472533 633903317 903967940 909588097 795325196 152131658 821676176 673411275 237073456 367742436 904317446 421601778 913184135 437934548 678423223 822418921 891213260 937674981 863204601 934972021 154859472 614603061 770372461 319676571 985982152 843732508 793888994 238242013 721070368 841589446 814685105 947039373 236356728 419092871 850791781 827588284 485384275 127331733 540319166 546575449 714602295 436757549 973844554 430915336 466041825 484956694 864093322 927275208 849059829 177692092 304392242 718370027 974310449 591852146 427802811 887848808 854763485 139348939 852519288 903622195 682536921 709299383 942441895 967158927 227813833 494355171 453424930 634052166 994246173 956345869 859873515 534005556 177192782 708107821 474809346 960296082 937147011 355327178 940498977 195568239 391542123 751072057 858917098 220896303 712589530 764774227 702121610 739453334 133996262 394144110 644299632 371190136 771692103 978908799 198576824 924973479 887305731 807049919 492729485 760086512 194188851 253555231 395569367 305765829 925664498 638603187 900032357 962907292 395225911 685764809 130472651 584572643 253429846 252550731 483740426 928199589 881701641 238756343 592210516 667973742 551747295 518154713 636802734 860690814 824665488 365835610 636792129 417587982 854008857 550727358 830916816 622630666 686370156 752383477 456545274 856338162 922788651 686841016 671958832 379621416 384316118 503640989 560582782 496737253 681902183 371908727 745288452 284071834 850387239 935409348 722397595 647878772 644735048 912904640 775482576 342434909 486245324 664226961 604359915 646810654 162273891 646179254 367422197 271475588 111165331 360144049 698978346 263941887 383981134 157369329 210170812 756311831 415267984 540382876 834935792 676254791 319545775 643636306 978094235 664743857 782113292 391242427 541919285 209125011 661478533 650981445 503249828 336096484 942480042 272818222 102318684 533964871 911916011 175669004 253467587 236928788 810430193 178958615 780990802 150355363 558476577 469162380 226637459 970958134 449234338 393499293 256004267 880969798 653002347 511122567 823533157 894842231 176392613 863246230 334096411 726560714 975359224 566611711 122085334 768531014 371805750 854792924 214999246 525281542 608012387 126276486 212258403 412888052 543220756 579532646 697228683 900323485 717266881 164482849 144379949 204817796 736467103 721754411 225870709 816178123 166496652 758844543 270988987 187559041 874300393 593818317 385151010 487494442 734688339 194526956 586204795 713660451 153210440 899319605 161358382 915673353 662214432 250117434 330660950 925839768 713930506 539926493 959281344 524510616 937783451 704422331 535361153 990864854 547479069 403363505 795772062 772408956 759838969 654147350 449294134 629963638 807481262 630241866 281038735 243492235 839714071 978813100 479219270 733236913 885541210 898411237 826782954 304104825 953125017 918202592 417005844 702807091 852431673 359664698 237670554 261432296 451546632 420502375 389926506 480278242 274610708 407106165 673578732 128202349 843838726 556924773 485371520 302315319 374195809 970306006 290161248 973262943 629120389 100086926 177453009 750432178 477538485 228243503 548549459 303792967 807030985 825225242 857087586 483741293 101402444 746555964 163603388 180741897 820262427 803979700 920190964 695563801 110487169 299746070 299228891 177099593 871503763 660196857 794472280 862549356 354301246 556172084 997805271 125969369 431045002 136673504 480562396 803044475 478311723 738457326 383682824 507670178 990477483 949179296 384411081 605016947 943486125 544698031 402682105 924697766 101324568 350413682 563982600 937753176 501913031 862510638 637935101 350102678 846174405 466140912 453189525 356250495 274783608 282387368 578063320 373222463 253507802 689127617 111706751 840295298 904980284 322209169 191661450 269114875 761907283 455043758 403617287 737336216 219917674 283413666 340034382 605591450 465420095 856381959 934349665 453044546 744629989 893029197 911050464 249698234 172171948 933980021 747433524 173697250 936705197 627357944 250681792 872595356 929570391 139033491 182670010 882648299 115034818 781789923 984899683 629430932 210355216 948919218 631636539 337126426 181743341 980396769 617591678 331390482 720145735 567977557 286695828 653575139 244145664 162999523 204301315 524644931 786948587 311822722 496221441 845840343 743606461 197040274 207238430 376179904 952332669 837471557 573074964 549628077 375819200 489058678 895905833 925321230 524186475 403843995 933557299 775105176 327474968 995653630 793230197 383761997 585350959 945227905 603543634 212401470 316349733 470048835 953807894 288450395 590402499 880344535 145018957 330440176 209048841 119184291 752166039 804515552 845704802 666572679 457898287 721540429 879952730 628929926 194813891 763285495 930894113 744952610 166057678 636901928 238762608 997141890 694726771 316551130 588836312 476188722 128718976 768724840 303353131 741897263 675174095 994984338 722394220 268703794 750748244 298706096 627656004 264139597 129656190 895955917 553283705 482241651 512674057 579734244 516291962 692381273 570536604 986006460 255045689 671362288 413301619 792333680 240180517 656076537 962222307 737734273 929352848 457663723 294000238 443828135 858978618 864257863 677426207 944512373 861793412 176091488 839451719 552455842 563628911 348437741 200360796 709968187 278856693 464443457 580167376 913266727 693140138 215257327 246673162 530025552 856878223 246813030 693562059 560348702 752652919 393263751 308412930 122169869 946311194 874696278 787007203 341994849 265802542 400070776 627403683 994986993 641225048 884992069 790196964 444880702 583803581 423401321 416344704 817587103 248911867 392877527 814736500 656033946 830963863 977512681 641051553 190649155 174697810 914143728 544341134 817460812 312252093 243008090 545089586 172694610 498605350 848814674 859620716 765342822 404721560 650354017 338462273 217305411 547318745 773017268 576816627 248480941 272631754 225644653 941601749 603234444 210978736 327909143 261350068 289229074 804907651 714474572 200941352 950531115 601180715 406888789 918855875 901851718 609629088 857560650 922372624 298748331 105704889 673709304 643166830 869376815 629731876 111044272 975198526 927557100 650525638 366079186 837818277 153322440 968969311 803666354 701018079 184543552 136749673 371871808 607736453 131554540 853811287 671894551 167279386 674425849 941220517 714153397 356509168 387302563 491335990 418698308 824705741 611496607 974949112 928975193 963448565 190542699 233288971 715995047 389824980 480963905 735214562 351049827 380993987 269474852 586915366 164043529 143527564 510348661 448338596 446168498 407215477 353270209 261882970 196354076 794756969 945880051 462239927 165422585 958795727 235345165 704738240 698778876 422434178 620030954 760392392 176630586 544285239 869727044 701305423 393468064 554435900 672406811 178712950 947485631 164920134 973738594 205404954 385303919 901966268 229356602 646638026 740130924 985481320 971465678 416187035 944473424 749373160 958532478 996982925 904398840 231854991 711456080 777205221 903719139 880241770 250829245 866137353 800848747 472145088 665394782 398569398 791278767 591524030 565667073 936458042 667959072 961681298 333416395 697811496 448573070 750746243 172589126 695315251 290022154 542100840 384688183 476250828 492345039 447549771 700100883 870663870 578816450 686814413 829420617 401733131 810366369 814488073 407901225 898944949 360285226 455493287 937176535 152558319 805746495 943852970 944629469 937715291 809564628 652741944 147558691 654212902 117320577 122316991 944186288 413868363 457842214 768187632 851914214 339339646 140912305 460618699 842856085 331201379 314683377 131566374 627292666 538644095 822717764 391230603 898107355 624272402 778585643 195282993 514814965 241135559 802632997 932138329 895704532 361390389 926316645 243621437 757161572 388862356 975040824 678036036 344936160 714748650 922297482 900981945 905045732 668976229 104446333 669062481 720297993 419383626 169664091 816854739 643856323 900383306 787160270 647130449 778861228 136735933 267619772 814833360 399604739 568953700 627441677 981105624 132665692 478666081 447720204 847699453 108221889 632607575 386348284 775406341 143673626 719678817 361813277 130256764 735669006 427264922 119754880 935225987 796296284 591414480 802638126 307472051 826782819 590447950 716492916 368823567 887754895 501399975 235465130 253106433 485666822 841255668 888372625 161247575 179797754 560212989 697665931 201339877 820748323 586481684 180401536 431159669 451962901 495949657 396755558 563412048 954469236 553388856 119211613 575409625 418082785 606078295 985673551 441964311 922288915 297900372 603686739 937886874 389058717 428546373 286755711 535395220 440431881 627458060 484097673 712226988 569669128 852952318 183630332 822083794 982461630 560242586 442643706 501313940 211420172 638335036 289442995 693099029 465923112 329683172 884156337 822443548 871119752 772100192 598721641 289833108 384020064 641679101 822600311 155575978 549466794 311033956 672129800 664222902 471657846 860941543 266135704 265606273 910356450 898058345 236427669 803193647 410871643 229893481 580750672 909753850 723451146 830901502 910805980 331669310 341708505 802394724 435300580 533880175 327785772 162852070 484229706 331021840 866261615 584516620 501827386 347457549 890455252 654876433 904502565 638878091 742792880 178573703 690688183 137605185 980462312 911650758 540120864 153716248 293796429 621866013 733847321 379441049 529916961 282004877 581109259 610996271 565927004 522519698 985024754 573174706 956500773 442002668 860863523 566620906 127340370 116408997 766499832 264086568 444623070 305433472 415071097 397090024 663299746 956177304 241855855 242213821 368898137 733819122 600866554 317741595 527478297 148131757 316324059 176541776 251834089 765242804 134233258 334399970 153458578 206897043 450669089 421707798 482855030 625097345 535857642 760747277 739136481 150681007 171424710 672541417 964235894 572506995 489368447 910880172 133389305 782179024 677615853 996670799 949322183 506937536 533011515 818395512 406703807 955084352 755769434 946220858 225472099 376483524 127474237 184156286 330485147 331750866 934272534 473961135 778154443 667224657 888092682 312844755 838955356 535373830 151849557 863613744 799698539 623958330 279454179 222101657 317345402 473673112 610498531 950500108 195485107 961918914 783369582 681404946 261717227 702088636 196076073 673868313 705752538 484157609 643332757 615684345 626855964 831013666 243274081 804173666 982566069 438591208 325435238 711252983 541694577 511703522 975904578 465475236 105721124 513182181 498504179 714230393 933624795 305080531 461252300 623563218 461526407 139168989 768470876 459586519 150718226 389783042 896214705 994904084 722926424 447504972 110204980 866258213 594217832 764633137 582694765 631670327 609964085 146690949 499590821 191889470 759618205 566159277 376062813 622949427 634163476 860280682 525690311 418434477 727356319 914219246 808498491 959056929 381772964 195797158 354647412 816177587 794397641 779716141 152744702 757584040 793284029 130811911 423198917 159609141 263079473 217344284 535028938 495682334 228435963 261004553 212290950 317431039 814873091 241666673 194548780 734817481 372398349 720247930 848342793 514835347 987982046 637099137 551358541 538779606 703363420 538914099 723998688 879593096 572741646 136267250 667566120 519607934 558832882 646893726 855863360 623976453 862942592 292489178 983547736 824506058 442243085 282563444 323910826 788323792 832098789 925363780 669853657 297833609 938810869 370379301 966103628 282768492 147745713 878314451 532321289 181074011 184943661 746837664 122657009 644132966 308791546 126080095 340960227 896930348 183258831 248024943 810097321 742829878 498294516 202303042 169305003 224318375 785523680 364342692 461235820 221515662 739775382 337255891 376761810 498664422 232052890 814034354 530433941 664437958 775273406 237774137 926657729 268060321 442011630 818691191 270567568 110045084 554179968 630513395 844024848 719757580 439652942 878384290 530157161 674821807 165285948 908652399 651947911 702969109 382920051 221912435 891199581 823582400 345734418 380384988 129067181 878860900 878870376 961910363 114542035 560920338 649247843 252754777 534643159 850989344 970050126 929258966 541950869 508615134 829076172 155588826 898894956 990221447 766937114 645580318 738670460 297575560 197876757 716353022 706357809 506091602 780888159 709639468 884836045 179076640 809036722 902419567 249491289 637212561 959297280 367204028 102214239 243491328 841951076 793232119 737222873 348759184 436790007 549967670 383147364 237224313 290345924 506036681 315500171 399594406 381651468 767237942 461534283 493134904 367414747 812428181 985362204 207944395 244379527 565464554 438689607 362435668 818237842 582954420 592181046 485856578 268854818 127365259 248403772 422088500 858436049 359742683 993339080 758750065 863457305 810675909 985392162 905018886 860228838 363845018 539310907 908095042 385909605 291847574 164555794 569243813 173072251 812508195 360943758 185882112 183467522 867699413 289166280 875554502 123730425 200958902 895527787 111921384 215827296 893369097 332383747 372184872 307249357 993087200 976945656 967684602 639168117 221858222 253435630 107403851 294049352 781333087 708576096 401261782 357475762 836389313 802510498 352583205 323095941 917464996 449345619 663148232 648127903 101137426 263413880 612398427 735314781 287950818 746173942 499133060 255920144 465987892 135811842 351300573 577586291 838066317 618526378 782244056 486251864 298787963 958913506 375642137 671010083 746082252 678385701 854211380 168988052 527662315 611591529 989094144 219063015 905277615 784477526 842258592 715329658 549151649 695951376 430325149 904241595 429570577 668263584 337130999 269432346 362047054 666790117 316537237 940658738 114025432 899093490 157027586 429279747 199545670 458568355 961862570 454869246 491108394 363636035 525242435 492308019 197369120 897903848 889542515 936826227 203867935 371316028 857887004 481437873 376006700 374166972 684429012 594039560 756738563 661836662 822117739 326083295 490593817 858509410 872909933 162904905 210787506 626585497 352233406 584071651 881875379 968199403 105237102 847127364 310945651 198393294 754596600 586821390 691247921 365690874 547318033 156790696 145359534 760835117 418357949 323414797 604684379 613483225 439573708 125605618 871988564 928932529 547246350 779661038 781070023 819198936 916072532 586023842 338618167 591882250 640339509 372467866 693044596 546758107 540672429 281453748 267135507 622152407 716974715 285934991 253265741 644510958 578517323 911586198 916504409 621635927 165144300 818664438 373206287 600854277 559791524 310624936 984117655 473202407 492379123 325915049 446760446 495192321 749250831 331222803 730016958 566159307 441697759 494613856 428656844 233068171 402593850 721441354 105513088 701316577 282691359 378343941 548745773 308977989 247153316 294256907 546968221 670309217 398059325 202403478 257027585 363795198 162157112 558955003 356928657 336904058 191589605 444023391 702927585 988303261 288361278 625471360 663693167 162661955 993984816 968967578 957435821 850124014 694478290 418978572 911297114 809220870 829480435 885288868 324500074 899702599 988937648 405861638 465615460 203906468 445645553 409637563 183895391 373168659 151930005 120908470 897383079 384590394 907850594 867305422 205723195 611104330 126992987 504546221 553913985 153464170 807954485 146846766 984244926 134777219 844966099 851539522 407769874 289452813 284721434 694151046 254465420 870573999 469440822 124604472 326401328 850083801 276748556 608372244 391122095 796667251 751237409 987802672 377278675 510634129 622191536 859191674 549089174 318674539 660177397 258213610 745486635 755303125 809768875 343850744 891172106 847893445 625066129 641020411 551279457 370800172 269342632 649982016 762229362 147307825 162131338 580123066 555317719 369349388 399245333 267678021 119110367 729939679 171401906 371372781 667423002 224495785 716173747 415756842 836619860 833232994 413692433 991487892 915450135 623452789 268034399 963370052 741259941 776497644 256972311 325155715 877591789 698374449 871069343 166312852 530988223 270421509 860415756 632712134 792208960 875315895 921218941 248261941 589583031 385329480 564931059 398086071 878338738 628401491 279277283 241240767 471052530 296466180 463525698 515180388 988637163 402257419 397450650 680336196 173470390 292778157 959985086 632540065 313991832 492749964 701147035 386415483 866783721 234853836 568120914 574776147 308624596 562183490 835691821 627793794 758397510 683088946 185402009 357211123 184820720 885135174 234337483 596701524 756774841 984822443 639665685 637703659 492447417 364748434 650867353 224020720 292419814 899248129 853846370 206372361 124809905 935344091 859425533 681292018 946067605 353420552 350969951 450287053 173695619 266079686 467151200 811358633 446103635 309095857 184019233 261427646 884771251 867099499 819795733 180641173 749779892 666522573 748219989 368817083 251076091 860522875 704381792 142757185 264169446 154798819 618656057 155040352 680883526 758201480 193836653 801696372 423129590 499188447 289557367 298177527 152959478 360345245 942664188 590055709 350047535 844427723 111761653 911096886 576085062 347692218 681010107 760559879 593501267 710619023 521748088 903366571 543041752 956086512 786625580 387189126 186932649 545850297 430780919 587132726 584980328 911898484 870062216 586915253 659809359 333253099 279672225 873700055 234700869 271929038 305452406 577817095 192405252 651794868 926831540 604571786 731031650 803071878 511418741 188084382 223823115 678132392 746439698 341231341 694589087 743950538 993232608 728073640 832608658 571694191 243628165 991116868 548193975 179764688 958176080 626128963 459290590 507577527 523157210 375519494 293575221 319690143 318581024 380897762 203193445 265579234 930451191 910953426 706091003 962923093 593074495 910740685 672718100 349340112 220135283 338489698 739217631 118275699 365072494 539878747 449686932 461387645 812385873 109033235 770798929 801219198 841093923 914864449 264790982 433480496 812030628 962066883 572281851 463366638 136270869 279961149 457035029 964649242 174716103 556340701 939920092 569483412 187032345 898350499 801175532 926126042 822565225 817749280 286225750 188652288 421646816 615931947 259414467 158270352 239495518 792588969 135323880 450314311 262810336 680301419 933690016 425939397 553848199 319342565 159182507 619369177 209965141 452750333 247683852 377945605 617840880 273002609 949669863 748888326 811490694 125333912 147828921 841094549 946682262 682459855 540327098 151437805 885819492 740328151 245880215 302455272 551720346 832660944 646319128 876924443 380663092 399741916 142831075 632543114 739901206 382652108 966521202 738466139 970433181 635217039 473637528 306520222 453623129 300698629 294448992 145062009 814326114 461427989 348265894 375744459 518402023 514423645 192703108 567482265 516109941 701598335 763450366 695142769 182847715 687471325 378861859 860475669 262417419 462724787 488162153 228570886 924458174 347048775 743244292 282795435 996230534 151126881 316492255 963624715 670995851 643638227 520488081 341361993 153989177 763328610 711196961 883201366 259378907 487381879 230105155 161007078 935253625 665343701 771842371 601214733 435210448 861314645 796191843 529002954 808261958 829828980 400552285 195169197 619329132 680206592 159455573 967871805 252087731 836434886 619621588 390137212 116863568 922954047 891231172 406913005 951459479 742523725 564929830 832380848 480058539 465251355 234869391 226800389 696997933 135953236 920253421 138085518 589930402 870716829 585873103 688918712 286674811 570350707 603546564 260173899 643260438 520042882 961498883 448184133 510773934 647557332 755640113 729530460 655582652 834010820 174385628 346169698 743223396 413120721 812958455 468604766 383064722 936290721 751756383 424789475 753821321 324654051 106494943 832453305 903740839 170457506 264232845 144419437 365758682 832374718 271068262 515822549 849826637 868563562 207189170 733967155 476415008 981440809 653552566 792145790 262442591 316731200 604587598 237463270 730574089 796909478 141278738 383476407 375279668 344664629 258495937 887684972 994259187 138670671 544443557 548309639 899027108 883297515 502385654 371822405 769963991 756014153 416572656 448308552 241945731 498824866 495282669 960874915 476887155 393926900 584446998 839500410 713791472 618386272 144839449 295007294 813938329 108796384 582939934 220763725 379018167 306380557 686883462 705415805 608721643 843893273 263464682 206183638 488190234 675978897 381547885 399436873 437036447 504700044 456131261 659799971 348995057 505762450 664653278 103720610 262697681 551264679 159550698 444254899 752976013 580122575 976339628 960149107 999537143 557937753 793163244 192771426 356451433 999765559 604215935 774659100 451955506 112949576 974383589 463379986 833840758 719597554 350782645 409818838 584079358 130372272 998411378 873933199 452971363 371267431 680047743 989166252 388963806 624791756 569426422 755115898 908385106 523813092 547853827 745899826 362805827 835174684 512690663 861886389 251426416 894976679 493677705 712745129 830195462 548337645 589766075 229769813 194495711 332652468 737324582 656872045 545473424 809452382 280972764 910159699 385333257 645283803 306348411 108636762 428188997 213353574 425044505 513465449 343089171 892464174 357857114 943732762 318999906 853701915 307325221 374326063 646463582 516182823 154704738 389711413 271036447 787060134 712774869 614701087 667296644 707669297 479610208 962244320 227671074 280116468 706788749 513676991 257844593 205402875 459126880 971343379 581711803 555083446 242722360 856569133 190736338 975050000 989533204 732435582 919565915 674009845 623869427 899044544 484373331 503649104 940830552 244585357 112863010 470675485 281133953 795494274 959319046 148490654 548771176 556865882 415018654 752655567 725111048 598753417 993919647 324065118 552917480 250525349 791379120 202903445 667343948 823413755 469137113 507384066 868856105 165880951 196381255 686915392 801747452 554546901 711779673 948377480 931334113 218164577 707295620 570888734 473738115 587614906 688027844 794145187 515790497 127744823 540375116 790939850 785843518 736019770 161367855 348258006 727333616 656676230 973404045 675086219 545332495 837712589 868488497 269412422 902343918 954436962 596108461 932645580 745244262 421429145 648686047 503791956 969435173 298769561 162876764 525853647 418662074 204628352 299882056 320083170 629979631 185871527 914994687 558456859 965673921 243466118 796428100 489603215 501576519 294577234 966093840 921416694 853628914 684273049 816488303 874118383 482435706 761223797 670178318 689627341 292488445 374951509 113070716 130893538 829735176 390701848 471954568 352566759 417523190 446225033 444801023 358592264 236112391 328461667 642960034 425764986 493453981 306307380 644201175 564995353 566048859 659408875 956396878 805152695 706413574 174248777 481729458 768269079 827523487 940086521 664575985 344823410 131505824 529076709 522649696 735458376 746275127 844072831 351237537 604502899 762452936 514360704 509517783 288765137 956831674 715822981 644031377 310673263 194183797 925340790 491646423 200862064 188016305 227533384 961280176 204487676 730204832 545845135 831403926 169369065 297045116 554360259 667938433 174734899 455584054 925927549 241881173 481471930 398250596 832601130 991563533 803037005 532918379 173363618 454061826 979046908 829886770 330144952 949151379 238022779 186374345 184483525 660718977 557601574 807051293 144020830 751998150 345664153 701225945 147047099 420701948 286986601 478434679 561761380 936641581 596332587 801457921 822464535 404684995 925195775 587670439 257452121 224443782 777603834 475463847 985479411 405953868 572097996 220763774 606145989 600032065 282620994 252120646 958042797 111896368 668445007 173368012 122017058 171524837 855212409 700300704 654177401 391326025 622100612 868466316 691266992 183985127 570944848 814013128 452501748 667682354 781306537 807972831 877740081 859011919 764545841 890915881 229890855 837776002 632823170 273541128 205410123 639178121 703033880 665386760 849160278 170266549 981170754 295871450 269805244 264581592 695342117 821925458 371623904 470129848 977912660 407499832 698536106 799421258 100932211 221978742 305974065 323199259 352755705 951575458 346564817 999343972 464748703 826845339 797929036 308661692 294075795 707596180 523073201 522293745 478661803 789243348 302940625 486038305 282694400 502624071 309102112 600550904 868985315 195138340 662840842 459845049 441440752 216633224 380018944 130428574 469253151 698047167 898263924 709866869 834415734 896721031 915901381 124423593 496745921 204307791 570628867 487986040 178697608 297930735 705076280 842055004 718018725 897218597 999529484 916437970 458635730 492026202 597912502 572858956 895799097 917305951 484955764 902141781 258653462 656385595 166361578 285440117 722143571 661309522 815442152 155471819 140661653 142469214 611795297 714047570 438807332 427404603 216694778 577074340 258042904 654024986 590152841 693221459 776026647 244070187 767214561 128060899 115154134 331964995 393393733 853288249 633132436 126943680 488371954 695797194 823374640 351029736 574121885 895137568 849393165 362134893 244436124 364671194 219531479 692510281 468345462 243063442 372050349 792170681 787809396 136023685 471263789 324977198 527907907 898686712 646747789 216705729 356575361 601698159 861024140 978143535 160338282 366169184 838133308 920126079 921905363 993881915 253620085 961646953 985977414 686385574 894566132 269535023 830614201 754155127 434465073 286703716 978838905 422023747 515871747 339528573 627113529 199553107 166458051 123347248 995569654 177344548 978777684 500648257 846927538 357473866 475214082 965021116 761202540 190741586 862249925 736027619 354097251 687902125 310770573 874404950 827255494 645804151 322834427 330054286 890577567 349978296 952951598 577005166 365411524 539893996 918354133 787859870 188952162 830612732 717576735 196547249 104423720 792648006 946267125 913480853 891800895 439568469 266829952 776093457 915742296 941581551 286272950 420628294 210171394 952181766 192109720 749552178 238353866 941375066 923887585 612118195 830586067 944854210 655432772 879684257 307674344 477165680 737064167 574691322 565905889 574594227 842686652 670089684 714663462 457605831 928637402 375618615 900247627 806476529 881475843 558893449 622063477 386033654 757476091 132834114 911099873 174124729 557784235 512450244 438550354 541446089 393284698 390114355 875174405 771426227 445184234 960868060 548428933 281891860 377507933 334211213 290362292 983469950 606982390 639458270 894152197 482992150 973116235 305769808 989631230 314904277 998804434 281276319 821639746 142490455 508357626 848094968 989703208 394390076 435031219 788196360 153433889 967736195 756697636 273615408 164720908 962316357 392519813 939158072 716534711 432822481 282891507 252950552 959967984 930467952 803819018 279329692 920453522 301370697 781010236 648270185 819262670 384514450 186549501 848798057 838215875 926917888 638349145 259841807 413792306 734399713 605082029 418268186 798440753 658154291 577252293 122481965 703091501 198582136 545875447 378960896 962793196 559631271 421700857 319381375 571773923 159025267 154592737 542755367 872921168 387386420 911705071 410429820 481172775 670932705 273639097 437316930 260301157 742172400 568234927 610268910 948388697 759398958 147822798 969533849 886182196 885678524 683601958 807484363 924840661 348010578 768603065 708929583 919246827 861061455 739955256 753985503 188774853 941277403 399112776 794820481 866172747 596438947 808096530 657670332 272530181 504503186 538730784 213825238 385454890 940450215 677669368 249885378 927336830 330024696 712774451 695088097 880887496 985497154 161444203 899039492 692977195 907439275 608590279 392508454 439369688 911579052 504972705 474776695 243032641 304126271 640427015 640918943 110359341 344363116 545957120 273380233 312026146 264120666 127139291 511789669 530697846 790894236 816957010 379188534 663950035 679261515 353615744 859186165 782469398 407636921 302451319 183641239 159131643 751465161 321912363 867608341 147650313 155934438 777726754 191691558 721620314 649324743 810002905 389406122 210513356 632528847 692317909 231166804 133903239 695406387 600213148 466632281 694650397 783884365 286034192 203532120 789672066 189999127 207371965 698806167 289131220 365437320 708607140 708782847 784207406 374793051 259074595 112567593 404219720 621574587 827995053 810893468 840275378 756758721 360225161 344295434 822234287 871291524 467178727 999656421 721062297 623321965 686765069 449606638 583014684 512639475 181173268 850739215 668652690 719660570 885123499 674195396 543825659 597418653 158236454 104868946 363291744 409545593 747953675 466799553 135406443 462428649 286136453 301622243 905283382 840110058 862527444 343473766 545554976 775245009 192650317 721403148 406878338 430011509 909940068 417650685 466882588 779409081 948728655 260572643 924342966 303372058 300795375 878104779 866216746 419309110 742816279 586323435 228032816 624972452 958007875 233185079 627457759 278730584 213294582 820279515 898022381 481160600 742529406 422681714 647676609 528934551 817434728 237371017 421027963 517814671 450712105 539852488 485709379 823572251 215917197 272778397 431185483 636328671 133947780 328974528 625926211 821967515 199355692 397462509 652245565 679262990 558781142 628611495 402461156 264634897 520977831 750912289 991103222 358013374 476588986 195614696 256862407 698787317 961284149 979837682 926606286 126267366 983991906 924894081 649813000 133310879 713641736 250681933 432346783 270728932 769456743 362692788 749259843 972911767 249108471 895849380 564703566 991714223 689872200 204118273 480245285 446268743 644394291 483555046 589897824 433553871 336278639 353957875 758429687 907311323 104279780 132554539 974118395 943163721 320091404 479614818 364304278 451200081 578178279 528620517 185664325 909408474 455998168 441328304 119995078 461636304 176073032 446216200 774526356 722084727 110198952 176884536 973329205 379746809 941873469 183806496 502137905 782568159 109751771 112186247 756446443 721064982 625055403 293382080 315710930 383196475 314842293 759340578 938897110 848651646 671245059 359877349 265078221 638452472 346931089 492561133 918304464 533337649 975044243 775900728 951020512 996642496 837322436 403877798 141036100 413283895 709665448 918843736 941082947 251487821 674835831 546004510 172477935 743784312 897387146 796466533 849824365 443963919 329611920 948955629 912664391 462149584 118121220 226130428 175933060 224659459 347513722 125726209 835815644 991869864 520397353 423024974 879712121 561906408 652519923 323081167 313535718 631230410 633690548 394801895 227692857 189437710 509607093 671649871 611113420 953953337 475013483 905520355 214944343 345074851 364783502 378729102 641339691 518469557 644438021 906343235 137481367 656317819 206939526 244179158 632010635 324607228 973806078 743084685 798750214 621585225 351000010 411694557 277356894 785262468 298480049 742876037 123642789 508707116 704642358 805188987 981598081 672041519 403295697 277086275 623362821 526794871 478585142 473189762 169745241 638340486 267379125 330781739 579157659 459320530 673340488 553552634 141974916 145733431 565469625 970746215 821988468 964329793 759319331 607957285 178096593 536139186 883216653 484618855 715266327 936754080 192898839 304313622 208726205 815073642 248606023 921997514 718874719 403146399 837669021 709214998 636569419 484549340 316547952 395271529 799819714 583962280 377282290 828002023 846692268 560639685 254158717 804304315 411066489 754928769 708106164 229813852 865221882 390552240 501220860 562233886 524438619 544102632 749622256 100096358 400593217 296818016 843737167 723320011 111741615 287996697 337519802 589342897 527390135 139613467 747299658 911285168 385356024 418399181 616991281 641723978 278416175 306836228 402584191 646522461 443059670 186121302 971985665 214966013 565785266 486797128 878892461 759681905 158116326 564149998 389275952 949577902 660215085 243197758 458754684 420698002 838289767 739295041 686683395 172320019 760424551 704284536 842957538 412511591 532249216 666583021 995729537 211939931 403507264 541657253 233612862 283331690 732959606 655797698 531789162 218205165 393072492 547923407 740662834 610465604 238525871 106414602 921634509 956731142 642488705 721572175 506871057 327847357 502485893 812701959 398181663 398741404 810558769 795002295 827041957 182811782 884211266 302332052 272142270 556403895 490475404 425013470 595920109 302162409 587328898 447905282 356365078 377453687 928105107 419634407 484006795 129627141 292238817 982479053 680909968 667687817 601865996 696858614 710991601 409213410 520786478 254574101 979500134 780510947 902408451 219513168 134464766 333318146 341375025 186423848 429785376 316183085 424637408 247807598 841539131 228003884 999716672 148807675 284569663 292069560 703950437 127743945 771705808 902128215 495530298 245227409 576363840 880434596 187996561 663092037 884075600 456376917 991254781 523119042 273226725 443158925 585124491 411930660 833374760 727735160 562803548 116459107 875566356 363188030 351023026 424724914 148874180 162692601 237962941 895616716 600842641 799025180 739829437 736655765 179794913 354006214 262628684 578356653 223811015 376471257 867888837 411191675 776277603 362334195 293043692 811226990 836247802 997072904 824727399 205976259 868533521 845820521 355201379 206724692 967009340 787374839 466424636 517643462 499047265 420146039 458641904 249912382 243187219 141451338 127804343 486240514 546809764 865568440 502718814 293728264 548559710 966184629 595940318 192340878 421182672 527373102 625665906 215996457 797763226 395739107 486600702 917434573 138969569 578838948 782734781 650401052 953712204 785524879 488015165 349004333 345507797 159892083 883951484 877473529 222937045 576636306 511454674 408052679 945694541 947553527 571760138 763142212 407953022 795692625 979536359 759764495 622483117 822184687 421673532 342637699 169504386 191426306 274743732 249868668 649041945 889590010 804590208 691737524 569732031 246967144 269358765 162352198 627132796 802898193 491996653 470844991 301714236 960493657 670985489 492099034 993191574 428812724 476785186 894831468 218369357 510447659 102161995 315386583 442099422 837830993 861114128 395331769 124328974 650787841 127461793 551085943 785368113 886528533 902647178 935931812 927746998 421877701 426766213 643869643 270787299 129422971 742625661 191084845 439114396 676418429 568253816 978196801 208552502 758737927 295520602 934491353 598720547 146156830 445186270 431925848 234529048 155091977 928778460 314406697 102509378 817955893 688816042 448422977 316734738 729535698 189943563 308862198 211092431 742957247 821279183 811634050 519971586 700703762 123522042 245341914 646402465 942263466 256214736 330152497 780288535 734899850 898538261 452288368 894697754 133095897 869132996 890214161 309731760 911532290 577880552 870327895 805874472 296017624 941443989 972537973 573303789 163705723 210430400 271273491 501572270 830960371 522155968 986375958 145069319 545917073 291865205 970488709 664421419 831884670 957696867 720507997 256280423 373378451 245614113 847020888 663356987 717674612 558350426 869094903 397369902 285120588 342737302 633448269 661835487 379464295 474556054 204761873 636485320 990614235 653672444 258727801 457222721 148947047 821806524 388423680 366235828 317992074 998390244 343272868 872343135 297564878 382258844 216364181 312430081 781246593 235797360 716827303 121425482 407838085 952259713 998665333 854638702 872564298 935399303 554801860 883778744 579481886 217204961 519120285 301842889 796346002 498794290 165522177 578107195 248522460 316377161 508910553 119078108 128243079 325917175 542195254 112872330 547744633 496379281 272989861 809120987 535109144 678156874 805609238 605826743 493806396 169866302 575787362 582457656 921399283 740477812 780798937 449884877 475804818 363543448 738547453 804644204 493670123 844628463 673847737 111521699 805437557 898177074 654768451 879022998 466128357 144432738 284072118 142838484 190025783 890712402 627055825 552082576 801258708 885664840 958569509 264249440 740771188 581718959 244771665 416201857 172646748 221114753 448014690 165001463 637700096 182509509 177357065 518821213 548865207 268033424 341537449 801588582 867829724 482383137 592016966 342167368 761423844 287603098 370366176 158372341 828306861 704534728 682932854 626342128 698667708 685101783 772564983 253279095 670576165 974710266 538877717 844271055 552569186 973099138 998233728 648801429 213804511 988450545 248985891 986727743 135162532 948282718 857214532 463439947 304166956 237073078 919850124 962466233 365200181 707828218 536945542 216504142 723162998 715509229 783317762 878045720 831587214 255131527 295459014 401802589 712051678 875609912 225419545 472831724 430874291 146284579 569408622 554639496 241563465 249982872 118879393 503827188 985560494 269474804 680368178 391302545 449587167 253367920 608443953 551888045 493766956 824137701 362054491 848273861 914593736 594777157 268089675 877503294 183561002 992391740 589194748 144440864 986624859 860056512 620800176 302123602 394618270 551509981 510255507 918928816 286569533 571883861 689449503 855761048 233070999 452709425 357720176 361020706 824372343 562223758 952186133 933149827 196130998 601582979 979219421 685334706 892118966 114852179 697264014 287014556 770127792 326683534 415251983 910942703 594708898 822587830 508552475 819918107 327743145 868021997 219682987 607538643 457859722 287650751 419588012 212752631 303069353 481804252 895497745 309048043 539200456 246459894 303177088 392577240 688601440 612751385 808903253 316179039 534526220 239636399 567586243 662695812 222797315 614603248 489933255 680851329 591973991 879020497 526832378 751037317 953958090 522477648 547492163 962416456 353112471 717431804 988290950 295391947 709726167 128814524 843226215 876057786 739985718 566889793 494989622 471621483 272647161 851661064 453935580 323910365 267622997 708730336 897879217 885076052 623899906 174136648 382263802 561352869 964944965 649300166 332202996 361326695 900352879 740558105 178274187 435265184 302938602 811261613 557986454 189896482 795275647 209219718 793919925 658393252 793725900 848736786 965755190 582866382 892764030 992897370 244363848 709141638 296573672 658371435 881314782 170262974 118103809 293738229 933599788 488439893 526577340 389351255 946417282 925725517 312837487 860474029 990745567 935645228 508767417 401610141 564902086 134852646 844300145 670257995 961639636 849023156 948512764 577918170 879545844 365490601 261266416 417574034 434408018 743691110 212499002 732908437 197127214 374172967 919723535 763095272 854702549 702005359 913986635 767691834 879114746 797414895 700727775 525289914 851262236 495296834 559596422 578438303 644032390 342334984 540374761 964719181 759274398 271516271 189864737 709171141 966559491 209860257 605362785 627103133 640377684 146562240 243042511 246827288 488020949 600144324 558363060 341496579 309391620 957520459 188707739 814759167 564189298 396368444 866080653 882057537 113865418 241477716 209036032 944778859 872587807 385373855 381177625 814841908 495404080 512034391 445726956 730938080 647156861 207886358 246580769 539686236 511637464 106617565 114025024 946624655 556436480 365283237 819174955 580432478 292591214 857690920 643287078 283977596 109550875 908768621 199532070 695096860 427790770 366246076 266070021 497650432 848842135 558233251 649506389 151603865 577693670 513871043 328432037 516131842 867839780 616399186 836574788 836658304 736327019 367520957 409250738 223986636 292734067 902218577 305126240 985029486 131359564 440872669 263935342 123215764 852897880 787202188 503396915 992801544 458371298 701799082 101193416 555343512 669707339 504965868 795338245 398777205 642329736 232230307 714564017 923075730 261342821 333495005 880365597 496585489 737562046 262755106 303544896 230743898 560568503 608348916 437400104 217622540 413810874 223996106 328256790 670734053 367287487 577141464 878167816 871580660 777170190 262591491 760435131 268558150 275831947 546740154 946858182 363416232 735283045 334247136 780683856 418350716 634840029 114615221 880688799 128789096 435339812 735066509 903155261 153313235 242925456 857734781 937765162 101075359 169564937 268473251 648497378 743264465 235935867 552917131 205757639 446970688 945653924 673002067 999735886 539902745 379198175 921663358 290939615 691196461 577046046 161453906 662236814 515342067 147611871 135696315 439524173 722192108 997373720 340937287 655904434 760980301 175966592 768575149 159999153 583570901 223805195 142149782 503399953 701412404 825591383 218864390 250692155 999462913 478958992 123070426 278490607 240136499 929930545 102769393 721779282 296814573 993119508 117457127 470349682 666818255 941791824 932511192 176831742 557509750 350644313 414920303 977695759 814467073 293065069 845645358 673460759 362888275 707674702 785938421 475970790 940768422 446962912 828717744 426253552 840641482 365619701 499948985 158248500 177645893 942690454 373519743 352776685 849218951 511700766 887764639 975075974 711686262 535957172 520802924 334835622 477052583 262457530 517503991 888932257 513012022 436241631 651703244 421578199 336821318 639399080 205240989 479199005 584097555 437055409 829773333 835308031 348219161 993728246 678563991 971818132 520446093 385616479 103528796 387201182 884910658 104585188 118123135 519161300 658984976 419820911 358511454 470770821 342660336 260858570 889830943 646127294 812653594 283899419 469331649 443027697 868166067 770737176 627342099 364729903 818571171 985849156 283009960 455000768 610088329 701684488 863581773 341372101 549456216 136565801 348125235 694116233 738917246 174062763 453749970 350889414 575727890 983877238 356568155 620079693 529842813 399865785 505769731 432580242 335326898 955226505 303267048 999299593 554543929 512295330 633442281 749310630 382097881 239215053 874776979 463588449 984924539 760541554 965276432 828147531 163024939 541032527 805049605 753434053 362400211 846524336 685096740 935093072 389547435 739705879 288417760 603530631 350135367 438797153 254551552 528347466 737923176 212040922 327969657 137241536 774361395 328448379 913773483 766202364 394796439 624768152 975974426 407757909 814838707 676329886 508168479 571507290 964708491 463705802 257830169 946112264 577589782 948467063 897972228 278689168 580744662 278988114 402015483 986484876 287125498 478410981 504531482 292377087 865954626 760061859 737247284 449996837 638403727 316112371 767058262 527204329 709648799 485804910 836364596 701917441 678193450 425484440 808095090 589793305 355353156 812738573 138715762 741570559 794666144 830745781 831649603 632727255 172589961 162888619 426594428 231381647 456692307 904931361 945768733 646851862 395072650 482530322 196409255 327580879 190904559 541928085 612985930 316705339 817606916 816119086 239445699 346291418 253884404 506392758 863372932 199606339 525978039 385447257 190979912 293646294 496164248 568638947 624782379 761362323 329508524 650049511 345504109 338453514 141930031 168074559 992669174 292651553 106864367 611633484 190787205 963463248 178139078 781498303 601010928 261495036 116098443 514796060 337473997 193637665 882265764 923669358 398917648 652713995 104867960 356525823 364427627 938802808 187127773 887579903 544795261 768717455 790818710 994036757 407284337 245030423 179753600 630932909 707160981 313422372 163321617 985010700 841834312 176150448 733569762 234062823 395664577 206585961 900138478 311789032 801332180 896812098 611157490 782719984 350472617 579767805 249253661 148182772 378525247 110037138 956306612 775289085 595816623 153484721 255398767 836554149 151208508 553911461 779521484 225869508 909024899 279072576 298085013 181123160 913760398 789778771 820926623 926534199 383774067 523008269 968065066 820712500 605097493 224333279 444050410 744169155 111006631 707806627 558001470 575339029 613600757 778803339 295288853 841254350 263993207 851711690 634353481 172692613 526843512 397367867 558865269 666795470 956906856 515716017 806836792 141634023 190095731 626226987 261615467 545172230 145878632 558019360 308443963 781140593 159287468 168788464 976397418 244790512 633970424 834995720 709690947 754125232 316989822 916215424 501583964 348921959 621492964 160380329 476391455 989787966 714210921 215913938 589853740 684108065 662478376 953359049 846332088 922701912 290840438 212452141 223818744 725247819 918082106 654964870 846792052 544351322 712903853 108518255 858944115 505814257 370731990 131829449 544005230 940467530 742706455 834998112 887617292 272145047 880782098 337931009 751513734 542108890 296051662 574637982 610761976 724247524 533465720 759789391 240239317 997956450 328825409 548963246 535254580 437450513 137102994 675947068 636788565 433378067 736977996 556733204 239025299 613146949 563041475 508936297 880780919 354508722 308741863 239044966 694327549 559571711 454436593 253453840 522134365 523741099 553549898 824874240 416426735 424170617 314553232 254137140 502608760 749327189 490807020 215632535 683922429 476349798 246318345 371286702 629130194 200558424 124713422 593728453 120065453 490001083 256029177 212046298 893988020 630462024 256139721 824658576 754418053 372819373 403560831 266256105 569408361 182433918 188996846 181097899 187114542 648791444 861057625 841589362 467773416 889046919 705894315 247103229 987746430 411124792 112097464 637869254 683599387 390617548 957278068 857087734 652099253 595765823 193325461 440948867 299857347 463441244 701611709 136343963 169899523 122567977 387184297 188250377 583280547 128162299 830055551 530169588 880356966 255084823 260049883 511404078 809511116 241141409 793271495 462661267 151229241 586468641 826813929 264169470 620919961 765643066 687923503 420018110 708648373 938548853 392551610 466968751 930034748 593063605 841180922 531994076 298226672 509488874 390898761 256909841 859819828 703158925 645812600 705952194 890087013 361302720 880345921 223952803 398863440 447508865 800778243 674970674 301346331 680629108 609632287 109554176 906907346 308978473 352067980 415303035 861417635 210800590 549679431 433694377 365451766 471236481 526857897 957611478 630567233 836277531 437473214 628678397 258694098 747836865 501818878 635785169 259430973 115284627 659602071 540931634 175248928 704142728 268556075 911404402 432555008 195898156 565328752 830279043 666717552 914043871 139349389 496161287 623045924 631425554 526965208 879513951 859080725 615491908 924540746 853680721 996589487 704391110 816316775 958161245 556313197 204570746 574239928 127444958 627778546 170707547 471305226 472070049 232200065 164079777 525742973 835976460 886081728 877117103 119203808 284780666 925182935 132797504 683926860 499358631 164441683 489094310 359587497 327452661 513243036 705112843 657740411 424031601 867922271 856726326 407989196 530217261 482724091 841733725 521896184 516821868 373842988 629783937 961469192 657293114 571000677 843354623 135890254 259404787 296931970 698236549 931711586 600007066 241640885 537114764 307540035 245602190 233096524 486256196 543231685 451146421 756997846 409232069 517010449 242560941 749368903 105378996 244685748 125254028 591852809 829937423 821369894 887454421 738670769 456741502 629619878 864959919 639925975 669314241 613061814 445595850 467319124 671581855 694213860 667747411 497941663 582697253 634148488 651499293 314612033 633703575 188023005 917760682 942854947 950384519 120771262 108577102 321902622 900211678 139054197 708680850 452656349 856452375 460001912 818555632 679969696 685220126 749567804 902742138 314622898 404048280 316475013 829018417 754761751 931658549 864565995 535399827 130522568 474758263 465188094 179175865 777002649 295687620 411493211 391570813 447747569 121437697 221985361 605849704 197027542 533827355 553919383 262077881 390648266 932370455 171724859 835569342 370304423 757364096 461661265 996457869 774579963 450817910 122408605 276996845 289703778 662270438 731848958 727913564 529683743 233034907 419024598 255546183 791511909 354635722 492164192 307149231 457401693 463416404 487211075 740101499 881528938 861289893 952855052 303671131 754335925 408227879 860705058 896179962 182823387 983546968 603596826 854031793 970310834 769322064 569996441 612943292 627180254 231101006 821310124 331146406 833678878 967987906 159713044 761566190 765647349 757469833 736902209 775977637 210325022 501837759 736650044 655795570 184162136 437195336 116405368 308233614 319416781 188578026 658509079 505989257 163465047 782190029 382569078 328127823 241665241 193017432 399807792 839492391 199317094 816005798 176194265 370790653 957461024 808207075 927112161 200250940 348549225 872913474 248119734 883694621 400727733 738907817 131265495 482966387 475298043 575027285 150394229 837276365 159522114 802946801 836477709 330515355 578701347 529072346 603326623 827681834 320313572 885848939 511285861 537672992 406155440 523392616 909181287 374075170 549166654 344790842 782321309 603403734 848101561 958389812 595336678 308774170 586556266 421577373 513655460 879619441 282443543 900052559 862234505 910900698 631108199 390236633 705531850 697251301 962607836 447925206 179480430 568190699 900385720 856438375 383475468 248955441 741408473 580764851 674878042 274204314 613003049 565408464 471543928 797732200 315344310 163448771 602163659 939455216 309368926 339973840 153706820 136200290 545580554 457146925 113805497 592622788 793324564 640211830 667705087 936380423 793600833 948474186 510783840 333644168 987452613 604023231 393302955 362079709 655323086 949243248 352699498 510841755 456869489 493197934 555223799 748330914 850792754 495462552 956268161 693245862 918338153 696659618 875850303 606825708 443708398 280368282 822199497 458471409 720446391 341847884 965173609 903414608 280289316 268186406 748320819 801578307 354416345 427163732 522408298 792724994 150689335 311902240 930207070 829167288 165266960 232096180 121886178 337617418 579887308 729288003 680810798 910967587 243584556 972013707 374168871 791720538 487412678 172864323 499402466 765988155 596229831 261248342 295734088 446176286 945999310 314619082 778021230 143789136 487836673 218528846 400561133 806015692 866182350 661854420 187514311 999288934 137158703 500676836 332821080 349525401 701575447 123738124 467296816 992560156 889534048 834676958 488023581 242360077 733341376 653937206 966237366 674101159 386709477 855114557 601369046 416645052 694046045 887762173 733044828 102162054 633683673 104625310 822585714 773682491 325453385 436706969 621335809 619606230 672498137 789125238 422727636 184872237 600991318 888228258 495482712 671344378 438143351 677463680 911779866 133115285 979151409 538224981 587361535 434911175 830346695 853345862 319402574 490267579 249242166 773162901 228548824 423888208 864243963 686326903 933662621 614044147 521297459 569039478 654207022 202096434 497269485 543475346 696303867 330426607 279763563 240711804 734407465 609493306 692234816 355625451 579772574 600521059 773301423 638574944 731330117 994260189 327127776 669754809 653213065 358399651 654191870 498771147 452738502 646156766 702539967 846029531 638843333 203425309 331793637 453434327 246888362 843103876 774829838 416726312 817722552 722324931 272247747 958402578 814250264 364984082 526017167 476742111 641430039 202478338 523195119 241295433 166534325 927331971 236023175 832339403 753235784 360436006 185186663 205178608 115907174 987279475 225667658 652502656 307756537 275427734 183892937 324495723 201027797 719140474 371283504 347697286 424220483 539576299 157981532 782628912 725083545 303691789 515600375 544744522 895562623 296680991 375504025 605620483 681629945 762383387 899763517 331604982 346211367 467290014 964046537 940070839 494291060 640622625 633030301 545635352 217871757 971129877 705613306 542808358 381602924 549089567 828042310 593914510 960142489 117501222 524414041 949452608 834751329 496564988 900784386 451008112 849939774 827359142 291736883 731129769 212874410 103247678 774872763 497754855 750691127 345343796 936785903 146319047 169770064 743223088 589211630 416750927 348691356 509641758 208278457 975710966 442468917 293936075 184560589 956963059 211487237 534579835 643306351 508418618 456322944 548441708 361317261 823757750 916043130 677716787 716218815 975487365 334807943 704218576 315733661 593580322 378744320 671326707 461017456 935098751 459350759 937245837 894487785 114409033 837834103 672053614 813477244 808867414 587959204 416215818 706327343 834401704 993831163 919378032 822669204 710534633 635703048 669612548 744181182 268385308 793080886 504347186 658971611 674566462 333988076 876629736 758500810 941252162 785589349 950522189 717192057 659986512 356069719 755976299 729701341 727375318 648484233 213078158 619001816 833176036 590646195 725865770 137448081 453977518 632994373 718744739 907124480 536359951 484582624 284056941 706101523 799855054 726686219 522244415 313293749 149296981 315217808 291280079 251286208 615183230 122077005 525034152 821991853 382767685 213908359 427540402 263581592 281084345 305272126 514354089 391780587 466855032 609226963 425400983 999166962 853081960 850210056 463650660 757384145 364580466 297142191 204935901 154827917 401572650 366942375 224470031 860395535 141714141 477657815 435789203 203946428 340203076 450195781 797053966 225198269 389795684 554947213 160924356 903000696 624538890 227696965 843006747 664738875 729908705 186779887 585135370 363028360 324233454 243616115 649828645 350262318 634600264 174040449 298636972 879200236 977195156 530212452 982290186 535028013 941210677 562042506 461214040 223749763 285146779 898309626 696039453 259139821 482137540 828291493 269798105 405775554 861275588 271389518 642935095 365409728 567415410 847793264 615523022 110617235 260030754 626129344 998130832 799940414 159307920 643047126 627693036 422626747 560652833 135831089 608279930 204505678 534104135 102831246 243611247 259681799 208324794 303728165 162069604 467757206 890830103 497543433 662464748 802207604 805619086 529337698 462350405 992314328 896075739 387559080 846685464 808998897 397809794 587532462 655371912 327433560 556269287 336113233 574493537 436035449 933079588 623742943 360667316 176221072 971353329 639369731 291217920 278823129 972445181 372250927 738591384 362186889 478293575 506617290 819142425 843562557 219029798 293729068 866019798 100457132 823193993 243112880 918506124 924815588 983624819 242064303 517833298 859724052 210094644 598359100 316023561 338909135 862681637 304014307 901055598 429372260 598820521 945155857 295876510 762982860 763717344 530076747 258850931 630521086 180652620 805616619 855170812 287932331 505616157 504848467 940296407 649089427 447959412 955185797 783841233 318654528 428173210 952146549 357718820 964348210 644718885 782997273 880525828 612570445 695301833 176749779 354199174 665116785 955533530 277361400 416953351 404480924 171096413 730920567 734433378 465850121 530106454 140709752 229691809 894458065 896054935 555559869 342592729 372832566 595875190 386816472 512986190 616881981 271502854 675525016 133838957 191546021 709452305 398304032 197802454 737533291 420654444 499079694 479998204 582490458 241554556 354568254 668818261 363622988 514726171 584760142 596704448 978677440 923616050 299689021 644533893 337908397 648961927 724280151 470732944 851950048 477777172 595717921 691404859 488258142 783926574 600264367 261082724 651487355 850435065 307547559 907029766 167482804 405151994 260885476 790734684 864239165 907379432 530727409 135785047 871793667 889128739 218411283 370601550 285526013 136733342 150792917 453242204 999349676 775899675 424827398 735311610 154377570 846394556 817311079 266081617 135076316 951264587 972207462 541681631 691722613 146288837 782194726 865972666 163872235 763522155 887841762 107520034 167010053 229117348 862004046 316951760 771555108 181133196 496110503 360266689 727489135 603933246 604089662 575088457 883478756 516382041 535941351 186029789 483109747 719690742 159877530 407949637 274084281 450944805 909290838 498626877 938731101 658337365 624347776 359625163 536153844 980044641 193081268 982913305 497943651 946737292 896660372 187261293 982133564 403448747 179364020 617078615 422782135 691355458 112692732 304173090 285654185 505521294 666579231 968129911 509744149 738626589 398107369 733905117 303186156 672546312 214731671 489834342 158272702 690595922 150873606 212079778 486890106 950321247 333739988 416757677 267258409 943931079 142626948 509014038 207320873 810215653 443600768 731044675 883014983 163141415 228385489 991138577 751070071 913731653 601360049 873546026 405567327 324150833 603929769 412950546 730035828 560527423 625469150 454004877 298937092 485735149 118218129 617676582 921339465 968386856 172338068 579901738 127613006 905288068 758211251 839802258 139742807 138742454 265185794 164707070 252924069 348040328 488841637 421725924 185601734 116000393 828253782 131087732 510776708 247783279 576016051 504886455 277897415 193681781 896635072 846920979 516817569 285896240 418978650 216817914 748376221 904534155 605783778 211806513 855784078 765235714 667341054 877771799 517984564 506450599 472575994 134119894 461147539 589822284 143779838 341925630 388990315 440032799 721632322 811470333 722128976 394086823 516829844 781624865 676632063 118626720 893809710 123639110 765180364 103042332 329127264 869756781 732338804 441648666 422447917 712545956 871071959 772902010 754103146 859840451 703694726 810725974 623994326 212908529 728935095 371998592 149971398 308194666 290502572 252245401 922663431 597295861 940451735 862549956 134212088 756918688 389514958 450116424 458087804 663617895 286187704 258817145 134053247 770018216 521867724 401880654 690556711 626042088 344519645 793383977 155954522 573686917 949225064 622033383 571028646 607388254 951568469 785333865 316422644 804820204 341826376 658615707 207612960 725313053 374592581 404169011 745872940 943729864 316565732 915421440 597985023 193620994 156752650 467339465 286677598 122017829 383901202 834132966 325681034 542480308 766542556 576916587 460162457 893099498 945641305 388773358 108764699 545552950 853568169 533161760 360124517 371350736 781402246 938724334 544654652 506797517 918400784 941882122 455463820 447527236 297404499 605417809 128514692 510844451 389224502 137078304 417194745 727418262 603419935 994989664 833762871 622731423 911956176 149250105 255130006 117129456 351204335 988510946 660718346 644406481 628649720 220230459 228825928 464527957 739285613 929927217 981100637 184937269 454648919 708730844 989266432 358534257 592073730 791425362 205356771 821366588 544669702 104001913 950476526 436758471 300066402 114493647 889118849 326656724 971551141 418425659 519148347 705090297 983572284 918560116 122356448 847421755 773973854 330100344 887805321 757700324 786829123 672665722 320790962 656737424 764965325 595458515 181881331 275672001 187724449 220488156 760004943 315603287 326523686 673409828 838699242 349705751 616998498 745731340 366575555 188306007 643486976 635682567 360454309 236568204 565757529 234392619 184012579 515134284 738266804 488377044 234856806 616051196 300036048 833797458 462853735 259875748 758569877 331211744 776485420 472440770 830690412 451617367 806493854 559462663 585807218 753808117 347725669 134587405 596798268 964259870 352423840 329950243 736949123 299955704 470681691 865072256 105885682 706473335 173681678 738540775 993300310 911115416 926220330 976230968 201078528 553009453 937630425 924454210 672113594 515314401 668357497 817310301 757135277 921601719 778824398 540707150 367483006 267020654 705279124 792588084 104074605 131686829 903718526 164721331 692635865 612924408 495563934 507514873 905545954 794346974 196935236 164616875 990874769 683500116 426070529 843994230 514340089 781319152 372977229 341248218 420922932 625133508 336058230 993580756 159252691 576943891 965232179 779135946 929944448 570419556 713592083 889625064 752524804 128048222 838276152 125016667 649185541 919564524 410893958 177282318 343856607 339151283 706082063 469758864 438605717 884189107 599496135 246767001 135375606 682121156 911539441 863435859 248817077 379529378 115600854 822051121 536870019 782786630 414967654 422171124 363930502 246456725 361248230 276830597 985274729 828906952 171842999 589199371 807854782 423661877 585816447 922562329 356345310 215572069 765695902 537629339 829742591 106356240 611589682 198709953 842862014 711950743 803840382 400459571 447576593 596843311 555691622 345579178 746172609 510181522 728373287 262350975 609259921 949331598 928797508 159557515 853891474 590911869 806989768 492527046 951273663 160938256 611115619 805157878 873648149 743007332 530639057 159763301 944567638 718743625 746039350 522263665 555115165 304431625 373604659 760089113 658290361 577652841 886418895 483570176 416804805 562490908 952495196 407403173 602839314 823615874 758335647 328752718 116576178 877643955 709438201 834824239 165484588 295537112 181535278 168284838 469367999 498740515 476388481 779664782 557329326 639830436 306496857 748889699 572586189 949936409 798027166 839107261 791649956 835218210 976871285 947935609 798692851 550313054 304011596 465164181 950030929 317970498 282049195 439301961 417902919 344449135 684512667 786827382 393200172 907144602 978700152 977779092 999222440 816661545 477408803 883696908 684138197 799711010 334819908 710347549 448849743 166714414 285916273 905329671 139334565 526009162 992558769 873144575 134577753 973970093 770702881 700832488 941638748 691704120 273897783 773877789 702935375 878656358 237919765 242425394 819787432 220426059 123965920 872418385 130251183 990823555 251750817 498359622 498862623 797541515 676385402 353053940 460542100 861901197 700225348 782908468 144283056 132379867 791391133 484510498 312220301 277199286 773161825 856390739 632309828 209561794 175504121 116700505 341157028 326573434 509283207 204048069 667613065 317283151 293914493 515643748 748942012 553961027 250415142 908244657 392991437 295615143 435561683 507228089 925644630 539975679 316791348 928493675 987741076 298954152 402853951 841439255 447403609 887001627 752268615 950498323 145830958 931605931 766010876 961954257 434352571 811296088 438682371 212398156 749076880 167492900 722428057 378832120 894744684 827964915 137529073 804089232 616343832 345786805 940572869 526863444 892826488 231473070 283297857 905268825 808657643 626568393 316576631 522338543 190816324 828928154 962299860 116564440 196967647 779665472 698440356 795235731 938636744 720545195 963334200 832665472 572225043 670434866 609949082 415426794 355376936 143488177 435895765 408518249 547823132 524258883 806381486 871216550 562383127 208098726 426860866 728943573 851296310 673677699 801043827 647385774 350213774 420431616 591775848 416913096 842880886 755933191 107956319 197386422 352931131 120546191 205886608 923417583 777859657 577566104 901970226 121424180 427879621 284562472 732406684 103141435 256230100 487475946 137159441 516161929 475651038 930047380 553702370 627417415 908969569 381797104 399573882 351371175 454240360 865196239 334061044 294052929 932884193 830371438 732299813 273613398 791392163 119528494 119149284 232053612 710649282 783749204 188955150 500541906 968556265 189275411 963503058 275252096 567563385 201052070 896104732 491112804 277787327 476564525 749325759 661958152 201120031 357503151 886160559 659968747 235853564 504703177 256637071 829831809 839702110 273581834 444865120 832884253 288565417 478850392 633299690 672657278 852408366 755585684 835227571 167344927 237727522 883119275 986085605 145273658 394810855 523206778 284328259 732915838 827287859 875135664 777463182 391925757 799301690 313699445 819288456 887016674 455812610 547761822 396561977 559476856 372751103 449692615 240256041 381746847 763649563 954366778 582761224 179188167 277660745 508372133 428869761 332993358 322229001 249023125 841642587 728207147 870747318 849239378 513325563 953516492 539838548 335456381 336059623 769961566 649904867 612559119 980298926 791760510 292337737 651545271 490961445 766803727 101333492 485659853 600312608 406101956 976426645 276631556 641819281 532558806 230356719 393723044 355601209 519160231 709536250 443325206 819050353 703340253 588993826 302652635 852087999 134841668 777253790 995720571 123646333 968351834 214509377 104035877 836068348 290128653 469604141 801897604 360044962 478852031 365540666 469536903 942060723 940208861 591553458 908089738 325133313 867705828 153824117 178904639 186660599 820195174 234323044 496350706 298543112 954738250 729028175 912201059 663197810 610836966 928180723 417431905 367783674 196303987 623631454 919959273 630178317 491018973 652084553 208364426 331461252 788635840 237053657 522153309 957749600 523599222 919366277 742307613 918669580 956475722 167135973 840593482 551858739 323599409 873166114 426482795 467595090 847188320 498446764 417009615 180108128 352732791 560184676 295637373 489156359 403047998 179093422 840086973 734702769 563759802 415682534 555783787 274844092 882353043 390510920 946537067 548905838 566673987 961144454 428590909 557005886 637581368 983793618 569822734 688024599 607068986 584069867 304308874 332316366 668591842 373422628 639692382 887429360 717233065 952781380 775072147 795513575 119173105 472469621 254801229 828935065 689943579 655970623 531037496 736205729 546212006 795707719 392183131 857031686 504064454 629811754 335913945 348029069 990148594 337318368 506074497 441428769 799680346 531816261 625604217 528751206 960542275 425142928 933733786 581209694 824093600 575134842 420857681 258484657 311258838 419653171 285794708 864793351 293658037 263253272 159670846 276789166 532799532 534330339 825055411 581735249 287770403 703685976 667921266 494054219 572635056 810825769 889099841 961972769 536294199 663167379 203773110 224136431 411592910 567954722 380667722 377461529 233403987 906646458 720651519 946777315 215047683 731629832 363138851 697077280 880499907 497055934 918172543 738860401 503962200 973127713 905850335 892500488 899056934 361175345 914413690 676188431 393999122 561791556 576710459 695197680 952866981 588023987 215291268 994872146 149751797 986628184 102157784 782534820 592897673 432505530 136040285 238571662 300967246 397093673 636253687 281447314 960118370 748844390 394278071 598079436 967704310 900050228 684713496 625860862 466406738 402707869 360491513 799510503 951892516 785751790 326867011 788063405 834996303 447594558 535584620 727807535 982246425 138759095 406023566 959004153 985386982 226294904 915481142 767538374 145286394 328406780 797096299 798069346 663850746 963332738 182250141 313844997 747058492 661366664 486536781 868076145 377766339 849373043 100533407 923177961 458085922 780227423 420530915 692602110 699713669 102587380 539105287 281910911 430380659 292446893 971954786 957681788 990445094 883524961 880197505 685631874 579336741 580646452 707054484 186025509 835113471 222536113 865967915 459157023 701059800 551682907 836696987 384503169 298148971 153682715 358508104 912917659 997141876 160752369 990948432 553844837 830456325 535505482 754238139 936850746 713014418 614801587 611111192 808695703 299643961 979425111 637569395 821828925 713373552 886396419 408867247 280953876 158305756 661319742 346027717 943043321 406436252 689042354 145527226 753425451 255891535 634167996 435702350 660717984 314333212 872846974 331853221 429398798 350274461 721739760 241245082 110851228 531021453 472391991 600307046 518999914 238700850 745493976 218082476 276043286 386622956 330503231 188398024 453666244 815451502 156833759 567023580 856722748 358801490 964234069 764700695 509795834 243956804 285790719 663606537 906297477 459145765 375095306 346531857 753313511 596437985 192328466 424286268 818612486 660108218 763567128 737304549 304163079 815290199 169930230 136113130 616546587 401934512 697687425 613719563 753646261 378671446 287078458 377975556 263457921 780711426 162434752 288002752 997617552 357442683 551393328 641128339 410676938 744901932 895309943 191604755 309537991 656735885 927935693 970190107 594548251 595359377 823111443 594779755 364922256 493894917 599418394 836117178 225035793 189823464 521410123 293755802 405027869 324939385 377322921 241380782 658713466 267048208 764423377 901102593 538124184 834320353 326251903 306129280 125696939 498498632 242702448 520332737 203574113 729012307 566977293 563113825 263149183 915717150 536813054 299299647 135272192 499050110 120908731 687540853 879781678 892724172 388745355 732492311 746163781 237139841 348255440 324286942 979313834 105043647 815518379 125718349 189947946 243342682 533034235 210621857 619541037 807587774 430299097 164004603 421561907 224891977 973986932 904170552 220334851 963827848 835981491 271292992 521035609 738243274 743998444 385266258 606455232 706147010 810203228 953115437 819468152 561463634 379778482 455392220 272563897 686013613 368677987 393072405 826162506 502373344 414331205 884518869 594302178 615680650 752608627 282177768 567807025 783196187 190381358 265232805 492549073 238062437 322530252 276486186 589039878 765622575 563406463 980200185 715532868 786992280 204121997 881315933 657105158 534732164 898317704 683921664 636428752 731140396 124721064 575236561 898757739 783671542 947150296 739923731 265385811 567427044 927065723 735579808 244822602 709722892 833471602 662570313 275572039 473842985 258811242 250049748 698276921 622372860 629288372 858763012 762462009 644684795 391627361 160088922 776590607 667028584 681327476 964689828 881243917 841988888 924651446 465199451 602862623 873308522 669949706 377895992 512825352 337746033 737949719 913840573 128463366 184804263 123167769 973423686 947772896 962073945 547707717 847208444 167845981 981396170 451973718 488226252 847082814 997581308 757340883 540824753 993644919 520274383 577173843 268883607 867240109 520906820 890704517 600047653 984236175 170693361 354492496 334627339 938930442 382586691 336740680 273514175 631666811 358994974 526733510 135254669 293474331 438632653 409371449 799961715 799528005 540015683 612991497 548152554 351662091 660552295 388630083 652365687 420926080 858187134 967377520 656304953 177045094 870665480 439151783 679016572 814004650 385119799 198377985 362594672 553351476 682430786 508546625 685592539 822226660 119442857 319616706 938259348 678221691 503903699 163970699 613437073 530979687 296055039 785631829 484972940 176369697 690597727 251764397 480828782 981232026 472152307 286846252 574985221 375716987 323445467 727582713 108803248 590294056 834565787 949600662 536025547 355165174 312358589 549951090 717718698 611348187 698397127 477876000 953711578 661633251 270805182 357651399 103205926 116144822 685531894 887158321 114433117 390930683 546510795 815241412 956515224 367074993 979329404 240850873 634907784 802650698 443985593 230102666 415758803 357158654 150027545 195251432 217778856 715184588 114644763 379631662 677017037 148159494 333820094 623087638 585765630 656844969 993662264 166241684 883150948 515955515 636605547 296615234 281929657 261139343 495711912 690741295 984509185 861671124 706960048 660459188 349508072 747058752 656989243 252040797 199365299 532202746 819962903 182945184 202317418 305339900 584371190 260398859 622153441 750906183 280173585 940761262 568777647 927060079 777451662 390191098 112819887 586153905 863456024 614350747 265782027 481483589 686355540 873452518 373849681 767492847 269993885 927676088 402462112 117845558 289431878 789323626 917685261 903000655 190418356 784286428 565212342 363988953 718339210 644317381 318231808 959200111 128320089 353963104 721862799 114725529 270243676 532285864 921724461 225354034 672282305 151207250 631710340 862599893 581605923 923736848 762647827 776482498 947986288 402959375 136005475 224470330 755704885 977209344 708641424 493500285 151734938 721778463 688262975 564357156 963075807 679619442 548028469 192378461 858571699 536250183 816746726 767174766 427080255 977140550 960623800 120601055 646119554 969815149 395396826 964247053 907406100 893936331 141499750 950932636 799954058 669387648 890656917 979395286 854179800 177579446 385182276 985257247 125057050 761382204 448536703 607012403 282396783 375984284 989397220 653282147 185028569 207802015 321808383 604585934 724925528 366158830 833134243 322974316 945078412 920280086 944112299 660629460 146043075 350272525 153789706 159950609 667262402 718290438 677990299 606866635 651625924 314952593 726714959 484187810 946383300 878861294 484199458 439557293 280177346 476948782 100891307 583483522 161332629 414228915 980445792 396777476 895145066 646380011 771450102 575293933 486955241 423739262 260773204 672644627 173402523 628746673 483801966 857307012 281070249 900350158 962243922 852296846 599877955 989289189 310325486 959278848 343359319 498183691 579249047 342769283 816762463 180618810 323228941 657448264 105224607 541731475 974523484 703625113 401603443 149369424 112144754 310609224 571432403 285163318 712339975 801807641 364600222 241968232 479532457 712418642 575731526 673725090 750945091 162428769 150100453 651540676 601385928 173662929 380923670 161696934 717378881 841806884 761207470 340374745 712210502 218313862 833767756 674952305 428628034 530900875 670488461 689288981 754415610 638817887 670404520 800174831 253294345 737263093 515312911 545093038 599713254 659103781 589206919 648117776 315578556 895067309 243565691 302558545 779015682 859382953 140101509 234780665 228350987 609448790 578218412 155735978 429669745 825177727 750675070 481490372 795647192 711876966 285785032 554508006 932853339 327678622 307610608 808183923 391906031 683950588 654021826 696908566 694361695 723533289 675362085 191810607 447807847 165117647 926544869 915462544 954229885 590729761 954688139 196601621 563093653 579201435 307933870 309121102 403555410 724553527 225347493 335726334 545577878 698366334 846263803 382887928 465549361 858884662 224523031 294900288 582541556 561452618 253250697 727351480 704132816 247750283 476461352 126510196 536706060 747382852 653628550 412140647 165831179 817919376 122616611 108711475 583190106 352423139 755520337 814449906 230150394 931363738 601157691 352084574 598301060 935292968 285769173 822747975 480744976 934589331 878209104 663321448 482591742 399962966 356181191 515215552 785059777 346714421 715639867 859995400 725326598 226055415 596759446 947212334 731608380 928364347 991488468 702348509 760735435 196306096 168299011 404302707 934502760 208128342 751979741 730191928 820176977 856138438 984464653 702291427 688999327 971086226 170788530 875403369 580835231 435304431 371168756 561904473 428862853 527138262 886119441 232114502 496519478 326984881 261273295 149649000 908173554 292794085 832711536 603919771 309289506 596743806 957915111 526194411 740447812 347536766 477652972 376971236 297530571 839183222 475547282 274746954 845893215 919329835 794967073 780409374 445403620 287044585 863101670 273069415 283383389 169345704 276254634 708651476 281408544 591606696 105545447 279196003 644438882 747105945 649539174 491380268 471390267 786159904 793289030 282438609 803597364 794275931 243888998 169176390 872405319 919630766 683235920 986592311 443125340 143068694 816198751 832143450 447561164 809322190 501097982 313611421 132182231 573272737 962955588 415678347 137420552 709559235 372756612 256026300 272475718 852757952 548453564 771244771 596325570 974665368 443742209 667132202 808426720 938017008 554473382 540184862 521807602 349401620 863988396 459127188 363905217 566907241 663585958 263796090 355790017 191848306 522223847 216582844 195668563 437571356 242969367 204427764 848697817 596919129 833524283 429129269 680396046 186030279 346855552 928354901 914127742 987980200 504145397 361828188 792777919 709730531 453566016 802719971 794286268 203775895 220850773 685790103 729858105 631553613 483325305 307178457 955263462 277781937 573054688 625369810 726522707 912222424 480182696 280540601 660312814 109790519 219569846 617232325 668708815 466597708 829699212 522672369 673809971 782289950 584164621 848082976 741815358 463405173 716132263 880488906 330264394 872209381 492723404 790469058 820363233 667870774 631985416 961709789 162887707 438741875 486590292 197488887 831781515 626109931 319050659 332130168 791401275 681829830 322535531 609386837 618894923 591780705 576586291 482860549 861929020 732566543 750785773 487681642 226900935 332029127 448663950 641042462 795864328 268429314 179978166 783309580 258994167 601725167 412476968 273317833 520785851 402775190 755536763 440256935 615933227 153906265 153232824 985395916 955104384 420081861 943575366 260046991 119594725 500795735 184651712 478640402 624520929 690817819 375020710 154490356 965800611 956604114 597463150 928615627 330780685 181016264 122456538 726058940 768534894 493158278 342893172 808531025 248946321 379391387 500358747 670773306 263467439 141368280 976251759 385392421 543783811 576530971 885936856 997542422 340188304 884147576 794078628 156213103 198106832 301572756 378638833 639917246 236745406 647985197 573800483 263138760 719712028 779193425 810714949 256852210 776348456 797420809 390201623 208143314 843013316 359989677 498746912 420567707 631193973 291250322 734582131 708250073 490428145 551724396 305754505 160943260 103479907 296349979 757203513 220376624 893223723 727180246 450228038 707650166 822813607 511588317 367581008 728232694 992561805 217665227 723411779 730320885 443880101 200314090 813472346 630284365 625732682 401007440 710653988 169969969 905180406 591255338 932189129 593850527 820917149 400449322 523559773 541860385 263207858 173105210 778303627 401247670 277004538 846195335 647457638 498291840 354187160 380136918 113213092 632990100 763672925 817969327 614869068 682335833 406151804 715977747 737903373 613046737 830747302 871265891 688734474 826868136 581902463 970477877 966241240 981731047 466204172 826393859 737944269 943442147 913859323 361401034 245095460 222105859 209790531 766334388 470777308 294988775 323163351 209375786 701372935 284423574 159193094 962523559 184180296 486793436 775176659 625362456 602632605 918659152 941699360 814638311 309239113 286591166 999945945 313459626 682325154 344486187 521192517 218092416 649036486 120972055 529874764 330554470 809232755 618820435 593585463 726691490 883155815 480394341 343033858 318128582 150255548 663242065 850450953 232163447 718680266 817604020 967209284 962849126 588742782 590354728 721768995 359689577 733607414 428519678 401375678 982506529 969547478 932634484 981677116 301324163 423317812 640516118 968850616 377073182 825592177 396803303 395570692 243267535 896223064 482893081 796424025 538268406 943328556 191615642 665873883 625702112 941298033 622576977 387032949 429009731 359662948 562041525 936852723 664968074 928094149 208542583 212661469 422028290 614923912 457997829 584669457 391359090 114821071 781913869 559967757 279513712 611437948 549332676 326306736 803875733 872909850 369995310 200407181 783868514 554839896 112460114 820057677 386676119 512562563 821840713 347522256 358298217 309653653 607760384 732774145 269355782 521154890 136263220 227380451 985915646 963978238 712202053 709661416 537192402 223334433 395048028 128527576 869216975 173641245 912128424 993893502 386029978 257027553 516693113 259472367 851948864 144555437 717289529 376083489 960512033 502016138 103759960 876438778 863631598 637258689 480825487 302276858 145047931 636169789 429849360 200761253 315513765 248066587 490390035 323955448 414877981 675643057 491667052 704860686 812707715 160533936 319282368 277964856 505829745 917372115 374794466 367070164 955948982 416594283 987894141 787784268 885217582 314934663 205979413 856850804 992014597 609614643 855217636 585120505 838663390 772135916 294441887 783439680 723983325 379002841 648459426 954136441 989615424 804312729 760944225 704771158 428173275 447663748 188855607 769853810 278864642 959451090 592055214 606629316 642398356 176182906 185787976 650793734 744618572 415791671 550876474 543268170 105552264 784372989 569685457 635799921 906371675 521320349 837469369 897074599 191328275 785345243 391519360 843368675 812536818 264232529 552337857 332586810 935665955 777581733 724175248 733767144 997716168 588992227 632289167 469824708 513121326 842370358 115641656 770425250 646706437 665770280 938571661 142772566 786720098 800375748 460974627 147701665 601500284 520383005 953192517 104956592 718910054 377928611 182281000 733381993 709159880 721391828 195080022 573947056 337150251 967729125 578852004 144672402 795616784 254315667 645276064 548631635 194989083 457863996 564330814 995998655 752061013 877626008 706818669 281928342 565873594 868932428 353771836 348364390 336826096 840587993 128779060 799169177 396557291 607107520 557432305 771746448 582033172 479560422 262008989 916805315 201584784 780071659 997235534 408761964 746460189 612497543 509757015 514435174 775742788 302570428 648445064 417058648 995214274 883467040 443042548 982054380 484255849 921479502 818648666 911192275 454330061 573429169 576143438 553444291 263692129 887577944 112766384 889175153 611156012 291950887 224735807 782899145 752003094 730887786 328656054 271870010 529186624 707420032 778905157 797740845 134963796 638632767 375468106 297352229 970810583 620539532 530234702 518823999 371529429 815229241 208923946 288322036 833985534 844048811 629059318 642421128 148521861 731183130 866053214 727378670 709705289 592105702 851979469 126620972 579589259 782911507 208590243 172510530 257263164 731727977 397331828 588141054 647322843 120141411 839335592 808554235 336740955 423544677 291564998 504847737 552176984 470314882 504712069 749500759 682163902 397267442 715709856 846130767 591935444 784178339 351130331 636149288 108631024 650926032 863530934 418538817 422272670 464836606 233744253 324681861 260168005 821080126 716011571 324540062 362397455 952920045 445560541 391409169 673238409 752210208 709910670 433448889 974984226 709188520 192325208 704438595 724875906 136238102 781789480 462642899 416963446 842937751 183052747 303493601 407699874 899072828 324381311 468981669 350885590 278530183 997476339 755080330 438760529 761472195 344866665 727694363 447456573 962295854 169184564 987178551 683634540 938617856 777528569 640666558 967112601 211242088 899081934 882397159 420237735 423923703 417310878 430303613 494138783 419935551 101784499 474848479 330997500 982793053 586619615 138724615 393501194 871618489 777322969 426139023 247968147 873073289 297162151 800054176 999851901 606443453 667559668 396405057 925536812 881923574 310523919 746276683 529456377 480023821 316900751 663504573 340821213 645013482 248307977 973432381 893480868 215638358 657551450 921197115 297753514 173500848 394075255 208317486 992497943 433531963 479661156 564755417 280872721 732996484 444468050 565337388 365365210 635991055 760708504 969272486 522853109 229334573 626440639 473255227 206262336 683586825 151004281 952862268 977257032 712881959 100074445 336149787 384780523 948431625 192516321 547393859 394942820 879888774 726870819 260053621 828171394 140926692 736196912 924488742 130817680 806807323 868365284 619147025 923058472 926392152 683264778 758610943 249296966 405709099 612986818 641404486 963387882 279066197 293213143 849466669 410868915 546952915 657844695 802838912 614775110 342435916 922201851 180859995 283688921 753579325 523163535 160916753 281557513 424259421 923015140 956073805 252985922 543852654 826299037 313113332 897862215 611120965 375724649 929561923 409390143 290326488 864537644 141172491 726898750 527415159 101195787 683884476 876943132 496335868 854092860 906083285 211263595 736476754 242401427 345782671 856417739 286487451 166714248 127450792 379001049 763984984 684609327 899564707 617267235 849757029 594322328 507789446 608195844 611711069 313878607 226578554 551437864 950317095 265232774 326076765 540470054 640113854 815576859 981792244 341292296 892375910 365268486 872641210 152593938 519572952 454793563 761149868 783971477 822330513 479535692 444384560 275558569 490082094 985128529 552094141 762425811 312019857 448873225 132455653 269216817 919476057 217538688 687397157 844224932 658142903 841303626 150845872 489988939 371773803 435733713 435678064 277797285 571563945 719575750 549236359 339581064 775961148 926934129 337358353 483554095 888493519 642833692 175244850 640554739 228649919 555192927 255710637 364514685 260545026 933202058 514331412 779222732 731307108 194242755 467298641 379199308 557978234 919832925 471630397 544654932 506005302 757385014 256037538 237283304 724156886 384846279 179177250 753726271 769054497 496537432 466937749 971703605 793544025 457835172 445303305 513543620 250657888 131972328 954346212 895627061 114095122 763486449 455379108 715966436 394962135 953463313 332599826 696015414 772299210 170190846 774428478 496331331 396869064 937218766 290370680 189383950 655869667 705411562 325770152 146987839 674400932 242359601 254907551 684942313 745900608 287685916 379730704 323990845 581312456 454050621 352560422 586174981 394324114 611559215 395741454 325336306 774710207 306497304 325625406 531115160 952063263 237558978 104766803 952973491 885765598 795179888 401819636 464252883 387648244 902696214 944731575 414372346 278013750 834599764 855521802 483148265 606080817 926764602 977204660 274676655 802686810 587132377 626764748 146410837 150576217 941291711 316811857 683545464 547019835 311696909 833761958 185633256 277817007 785990467 237213547 633412063 622307121 779824485 216183133 416182741 933285465 342358692 998261997 895672042 141526976 809613576 260463086 266275850 601063172 995761652 448889627 668788462 589076901 955760286 529709916 315886108 761098637 150611163 938420880 573091609 207290796 161162575 500550008 535994764 283886474 290048291 351977751 307278223 631606082 652854269 757438520 833119714 514641598 465906546 280163125 992247473 899700227 207970799 499155686 650285504 268747887 354708261 961399459 924345865 561959087 995764698 554038220 782694674 163222547 159036830 159513253 467732100 944585858 579055411 263716064 416469639 250245295 660389609 820623460 831672597 534420846 523825685 610680070 861500680 870282173 104334061 925704638 656798092 636465212 926660312 901723966 154771125 430532676 829077226 966438227 383817401 206318396 353030282 284442907 827073125 720926263 828363942 342891239 805788762 165461573 375815781 772499950 450350015 204573249 560639627 131992613 772439551 130645406 917208522 165428246 531314804 328535485 871377203 952565801 527521191 241720038 823021779 854737391 402850774 379111631 405435649 103151707 554158003 256628150 216917806 122061895 851158385 727851821 761467834 146651945 912729606 238808538 730075522 699320733 867007472 889310299 270959423 276716623 964519764 254756085 322642055 676190321 444885989 999353426 766636953 286626067 949702787 184621200 109213198 183196678 961221509 667351711 779577966 363346572 195846016 836861870 222960435 569211093 107417831 481425389 376867788 403072255 396882668 680146741 791024920 919874251 165267417 966846496 289372803 877346250 474311913 578705857 820107978 569338118 959671944 450877172 954938679 256786588 351340778 742936138 273995210 967873876 246185860 801950052 605260250 611317672 298598514 746024003 220788237 389455971 858675233 375459031 586951436 992685502 261226082 188024421 733958827 755821013 202925134 365619452 922121683 209017355 144478224 636725898 277104929 221521281 647953460 592058322 433023959 878498289 207375182 754203547 151209366 617205666 994351821 931107899 634645510 590154627 889436084 114085685 210850886 786486450 465830307 385539090 881500949 262324995 478145353 668879870 220757955 518452208 449605853 730670683 126080337 455093728 864891679 882099805 834662830 669299532 476978451 372431903 901876390 179228530 360677739 432266005 108988513 861049288 304713996 704438858 337567972 914027888 412981951 437914618 399621725 105275866 678906636 921993025 308195637 963146012 598945235 363446917 308938053 376191753 893379772 799589932 476979100 680537602 701894544 332921710 559150972 251024921 843038791 713163240 922621752 668370952 583904456 117327214 139191615 718269373 612806917 156435841 138048736 986938422 550041087 234833135 446036487 123022128 893749244 924240145 157717532 684593175 949464079 909223390 984966804 290475072 291343936 360005576 562217757 491482123 208404185 517979353 263593366 794818732 346931047 492548556 186099312 866264946 906343646 373833688 100494038 154439176 626228953 333428549 837866537 995353173 173462013 936385061 781718306 233207702 902361955 900239710 901237795 590421589 879919439 769908452 449352015 807311621 905607791 523250769 546811055 611256900 887674323 876768926 600941074 100787460 895935710 287476662 619537968 564766316 705238496 776209849 694204146 254110717 472806355 675049565 517018708 925430228 393458846 959270092 620662947 875699376 975217403 731256485 957669654 499205788 347003683 901047035 363477260 200950891 677558702 212875816 866928327 352780400 180138656 422853955 245475274 636310614 357146234 183366871 439128054 184561643 571317379 355586905 704321717 457182626 276074072 315302062 506515966 164140300 468528127 577777260 938376426 681272804 682501204 778734905 961001673 601809424 485761794 849575708 283115791 706056012 491765568 942144465 551647691 961257897 848505522 994656130 862395954 194672546 169486257 976472080 210101069 574520719 949439940 778504390 236124742 897044385 970067557 457790633 994701813 300667531 624781595 764550499 460603680 951313129 897755363 468584392 646578454 982882120 286304868 376450912 323540278 365676223 834320492 450218352 227386818 408284092 352158407 979655572 395083411 790699652 986623828 726456034 359067240 464704431 787028426 962716547 648817445 336594771 307377519 836455263 347619884 932114800 688573242 642065544 458390037 591171042 689275590 820085714 627296761 335297295 154419945 217036237 270905042 885552161 573841365 802161808 637279446 446507845 846245675 320990359 818386261 653894928 726595256 309095561 134821484 978160299 288232505 954691313 701150631 703254757 439439011 112933844 497580200 390140119 155854399 907094817 641016872 764151477 794661521 451509694 312460161 629697920 344092195 188283123 873345064 275054775 106195320 847634819 626301034 608041268 810337805 505978945 362314454 106222528 118549502 226595318 262943495 926569713 920197580 724836982 233670571 871106051 975362156 205099055 603061958 471476092 201117153 503517711 535238710 889291306 605279968 112953216 170079582 717666364 227830759 559532954 931401654 423999135 552977119 448339572 671436935 373496337 121527845 785162770 312622514 947931424 856678505 812994789 336073716 893327121 558267242 814455531 280213453 898658511 981625827 420098721 436077217 691631214 467329153 777430633 665398957 115550931 157814626 532569000 908021818 410609331 991207464 622467951 396531852 619146035 163216420 554189226 910999360 305595534 502493263 318189340 371732372 804694815 721349124 353445380 339043418 777657617 650787362 664618851 915651536 716370801 526536496 946838004 944828210 382934875 942303093 254164263 285748601 537721965 227691675 449052207 893770216 856938442 387258810 960810198 154123710 451660939 978107108 619962802 600784813 434885964 581776454 685444445 345321534 882411807 768711329 995376372 362036019 438537525 887570735 962395843 491824912 495439782 699326511 328555204 630179887 434243611 228051790 307388656 182693633 116362087 653957083 374969195 121578134 642288563 747325373 301244768 577814378 771599072 258703823 422461862 413921044 198831599 749633824 724695536 839300613 956609350 230873580 415444069 554334021 735358675 558465891 114296794 407796183 279512475 755339167 212664601 615727617 551379460 674617811 860567818 194670645 127451796 447772904 855133895 484557562 456982368 287781724 712588768 294752231 199571345 629317904 284198958 503259746 314707462 910905905 923696184 473565884 800079519 209817491 116425345 463945927 293504341 224199437 196330626 279431791 112764893 139056639 577588976 438542135 317792769 165252902 266856450 221804639 601733858 693333602 621073713 991056594 835407275 187925064 940413779 568110362 466203381 247853271 730466580 515119082 108177561 947899995 921151600 143298960 648320464 655064696 794893042 735068165 246592914 632682343 931378909 777935911 393745692 660683862 508214891 104964841 617393912 649045064 126101550 839926197 342172957 450880742 823039804 370873948 340157521 438169378 340340791 970934225 495838749 558541548 899828833 475736850 470364717 852680546 112941319 285424130 958894475 521536816 915977814 985318646 675687735 890578507 779165376 780027184 996421440 639279856 820347532 639090230 874259530 187415701 805826549 546660807 957059882 194472291 730969906 247821966 892493379 243546496 522378671 819431106 129320473 356796347 105496864 946100412 330619802 636071909 730953043 635224715 483481026 758490314 581492425 297439746 485666659 155650070 800433182 985139221 341119245 165822881 226926289 243943291 668153350 425905295 930691682 672037344 906564360 886280962 301799638 327711648 880122248 361009110 581464575 219653376 318585417 213653497 522136903 352591169 730967894 897178536 196977376 337468043 172601280 147971854 619065488 223973609 595961544 508675380 194586473 953630553 398096218 533521827 430282501 226377796 353275872 392899010 646117484 167494086 412255089 133391277 167982235 362429625 238433841 750227063 830534437 813231060 385877304 715112385 694164071 899175136 317905279 506398452 733738774 113436632 437156825 442600339 726105791 561588799 693665620 587258524 971654868 446394163 978263532 946624633 198769854 663635806 846620786 663724622 155040387 717689760 750471479 295048688 521100524 750266816 648188445 127191049 875731022 527885236 620242461 881094586 601970700 180194775 341282915 782353851 276150931 376636977 588832030 445486508 497817297 158033796 532060208 882982904 491836391 551898958 970128112 273615033 828476471 160819882 468856343 479159564 630383403 952816361 684729034 761111994 765507100 693859609 513675606 995604307 758714112 511193836 685966862 774938345 754395789 882521586 110425583 678313259 842013997 445673489 198977753 275179360 947479827 517485636 179415615 751537121 747554801 977328940 144789098 131206837 693866040 650026549 569911592 495156964 600237449 542136098 391665027 165537729 733335118 778386843 929003584 227650703 397365821 579902486 876908844 550652108 733996754 192112669 473233917 570434734 789013229 275027982 750182191 741279280 804994043 833115833 502070323 663748451 792909677 994176119 494458929 475900978 781948679 233823433 568233730 643238376 498736969 673343453 158941160 682685228 402083776 606625634 230268771 562014205 647128556 299433569 388781971 184540688 785589247 451595173 176986862 105783088 845503949 501261218 144001765 522204395 772839980 665274626 930608203 248282664 630417052 710074584 485553321 151548277 469288169 281727700 476446391 238710959 257000201 873643344 112014961 942702366 370470510 855116165 259943789 849767406 316474729 621230297 272761516 602677357 448798460 263369544 818350518 949485698 282635751 617983695 961871159 622951060 697457639 839554177 889856099 381836096 414470234 381021184 457255457 420065100 824397171 772480645 609961863 504628696 728868686 219758327 151855222 967366068 720207785 716528411 922877057 955145506 248824441 309084677 743822012 397736664 717505761 240958700 667749078 256810198 417219394 897243058 465423810 480778271 899315740 142825456 249990354 119392378 107058461 653362739 851720620 366733590 514591309 437023053 983923019 757223710 778716188 753525168 278681535 207976560 225981181 822876159 382877982 788991742 510097142 252897426 911458381 233680667 534793354 572952681 845739777 308254023 562894456 677314819 861331593 766782630 205034220 893383387 965397251 101890312 582807107 883803957 223531514 583245274 482395122 609732151 621887585 583226427 736658217 411306639 664980756 371858701 171482922 467780332 246634605 861859305 726814824 878705261 925630133 244362274 483412888 518549131 404744476 103376963 834198777 453444617 712416963 962489577 768213295 378071116 156424677 860491331 787772831 205355625 830744304 369171139 278385418 376779075 963938572 507166909 655338980 382648905 656316560 482764746 111717894 533513162 139342219 931828664 986473626 303528199 771804639 896702619 751636936 860706305 259681336 349349132 266337308 229584264 883941184 385865656 130649139 565064517 114493509 535515351 549543919 824933502 311393164 547102848 787996368 628568378 759921005 817919040 912812960 424899968 976166170 543430368 476970908 230737321 819642993 658335715 752761672 388036208 134377139 436212801 547411245 936086778 133641720 717975174 979294662 528538598 754689056 664778410 926063977 524695784 100948255 689194258 608117375 845492029 679973289 708314135 448815840 864281018 694551840 437104922 280223007 749408281 822423447 396326824 225119358 508074283 209134490 555847539 954662695 768511153 365724752 821078078 838970615 580145891 989347592 865641044 750730185 907270008 801240611 251418694 482032320 630271142 221523292 526187154 588392615 572109244 708197057 187290941 380145014 852799892 293099803 537951325 618446657 271065380 469957420 992829072 512228259 650756062 376287316 715116615 773433856 807235252 224014042 253784030 722871044 533391817 380964191 158141111 588254566 732121106 858279861 394181176 900825709 294341979 389515655 864869612 257414663 827186437 568350808 149932680 390578701 418324552 261244022 287704823 595375074 871197683 604345188 914055667 323906340 160024754 497352443 704528641 812304761 327108053 219469168 215550157 163502537 360484732 517754537 842199211 601499193 725939522 645129018 576523973 947443381 188927158 217350254 825651815 850370910 115445658 609844026 878596682 540515721 957482257 636020822 527706467 711652553 800989025 647593146 891189696 369584728 490466558 970924001 938651977 360193094 404297407 474965315 651037651 674218534 635639817 940329414 173427093 714726482 910726635 163663886 229559702 634663994 712429287 564205645 838322508 872402447 826686273 295954014 429654308 680007535 221811336 875005859 559621399 966802652 654886761 782253357 584056152 466954649 166641120 276092091 968694320 691250492 626916920 109526652 524914670 394078525 267485368 669929980 612183301 365642165 866407177 815508896 873570147 363781070 112512060 566737845 100520279 527255855 410121661 630352764 846076632 699579189 959686388 736631448 568152884 349666672 158854119 831024678 263082552 204847296 711929534 412994845 123987245 473146318 527212365 201674283 973990181 159360952 127105161 535453733 366701801 195918573 548286994 698051135 626767158 413207526 365459628 299149208 791689610 289347182 119021453 421016025 764214567 878592258 209315951 573298346 259976690 763065565 100760114 168802864 876663211 225770173 350791794 783479752 716338456 229805183 560719372 867065767 134686044 925151317 513983945 408841554 110284250 470165183 134133208 353356167 406518212 265592889 923114419 408119225 331901560 725380167 478391506 587722410 622078074 732934437 761147939 455884378 208586807 628987141 934555756 209692088 456327167 710819157 627898777 434310742 403648001 269095325 629586975 765657546 791340711 719101924 145689498 351031946 315466282 745495337 538600126 322019033 598527259 655340432 904956946 710103210 698564330 620666944 959884450 843438268 431713055 980060002 874129499 772615170 405950272 588810656 283122730 791513812 118228359 681619444 408488334 759961209 844238214 547046029 892380448 922360661 972659326 617276724 443976397 218254892 897997333 117661192 809533418 564915669 808459419 906615536 570656064 357661908 865839352 331014583 492119014 662281354 533878006 328941921 738561332 108305829 626380653 479024011 985465798 417075036 774925654 796128751 340136626 980323813 938759707 101017602 191611838 866400277 117016906 508325871 803134670 963894275 235459904 563079209 403991084 410441811 206307687 543633007 426520679 582126625 500395286 585362153 583262642 442254773 554219716 815642302 119422459 913285333 999149434 408241017 566233875 854224198 123676246 472610461 439917454 220994981 499270034 970902614 909286074 262763045 505439465 508965495 123388799 247059926 999282623 214435117 174077965 601078562 558291067 127086054 998776230 119218266 272207249 658623815 603432755 378692245 122272064 536280684 224284685 640475177 359916398 174327953 794180401 471637812 620985882 955268003 607326401 941383871 851981086 422158391 797186007 117530236 662485546 493926875 309093230 730520408 276812814 961998847 341442172 291407266 668089919 852843662 380726956 262504121 535938926 439446325 715443422 993242989 298161709 857790342 200140420 978635916 664051580 739142646 439618156 586171601 383345357 465282891 622708138 541362956 345119514 675970610 214565881 508499367 806703152 405300428 999000017 650215944 161067037 386213306 647054908 608670143 890891455 533746000 526988952 524794250 247123900 649549073 362211904 459268088 314492226 545504472 765639295 178177835 383808913 389054042 391038568 791336233 921070180 588957638 823749049 341704934 244640573 171067563 427791238 464528068 385637184 911954914 645526054 923606020 363940812 693512037 973002135 156544101 239800390 812197369 148324485 599662826 903313529 572322971 507221338 583530152 875508578 764950145 145522629 409221630 167768283 972872937 399047795 925128688 831249845 934989054 999974896 284874889 750674065 467096185 659300351 388844814 633597267 601405605 550779674 243619630 789658459 194651269 448449913 508275307 826572510 945092959 314737916 911199724 180738513 589269474 873080094 279638577 917632185 557904846 876870777 837808231 186856373 651480404 799121803 512879889 212659214 929545221 353419081 802746738 859489113 583550972 367085864 122468937 986561782 704730765 188467226 752876981 295654889 119947846 766752760 943026937 688981875 688493734 154616491 766668997 177834451 917839164 174995527 502865430 496935954 174037276 456357527 892921827 973208984 510999248 427247558 679654217 357882072 914626199 965579086 306881094 724131421 507079650 690202915 395062582 461601054 219461801 845778105 874869545 853582351 536393045 526021206 528122598 172641786 193444336 183815527 767478695 720083145 242111822 151224142 268535696 991565051 808980420 286831176 500714512 283667681 412018169 805547788 968282994 513965774 455960928 550674342 700433026 740448526 601318906 975823338 373978828 544716490 345767710 342536814 639334578 407914021 585399028 190321979 746531235 809147977 565035529 415214027 626959783 362073919 205268579 380621492 605870928 520233893 210359907 950835546 328743458 382456612 654292855 174123362 885889889 985435944 239788542 509882224 395594314 123551416 744046911 471761681 743031708 752787949 310869764 530825481 279309286 888901856 994431060 592638912 952744432 471910294 848506090 983969710 341002228 938088199 632107928 648393363 215438599 782253570 825206269 854536021 521021277 787580166 835309334 138694574 773454058 718912107 109050166 144262196 316538857 412867553 828854992 459665178 976779930 126794986 143586264 996382761 291806357 144015790 810546971 675216059 699435601 595006465 168201845 161281613 231823191 408728980 232409015 726415863 675423194 483339743 639732355 910202927 179760345 784521762 826575013 404821213 688013393 285642154 782301918 107412412 649438866 151357001 809710541 423479291 637426878 155458787 162692536 296110340 887949725 991988986 513930741 465354210 569753138 951899128 900857635 583574766 855456088 742527380 582737097 279697168 291665161 676465782 347979493 312988842 536477862 222663836 927176748 790242815 752069397 723478624 797217599 223077171 561334118 789739729 970431596 438169029 718181853 758370554 845329918 458368779 574229839 324410175 279726850 895972573 702777043 940163693 363403535 930584936 825315888 894292884 394505804 203259964 686456193 430686856 430376683 242439740 254319890 768898891 409049910 201361260 886144956 810073977 837288930 603677619 140432140 432760971 740156556 879172396 945165348 864267008 926534232 244544484 328529202 374517634 133836383 317836804 653353309 538871996 142432336 193701900 403387491 508152784 229154828 778248674 109519073 592096474 885256428 635065325 149942402 878060212 531377852 164509310 550501477 654080899 631136927 218318353 156441689 158167253 360163736 933630222 982742183 248415498 991705250 880644873 360520572 474600218 294969950 274000590 476463147 825894089 811098961 539682311 191693417 634961536 330534338 555308832 770894770 303526044 726342205 138455444 963638213 701964777 421538823 953685494 702832771 676134809 446638197 949301606 661337493 205234274 993482656 732348134 389029335 254703990 728839943 690669947 145053140 103457939 130471220 415963322 130073559 243445945 804708036 900326355 902525623 279531511 648246720 951781715 957403890 792144855 985171116 749447196 828513252 351357947 250346834 802418048 764796337 727218546 324362213 832592616 275683006 174338327 340937607 950135249 681970982 852807607 679537709 926206606 583653806 380234521 675484489 579591571 703321044 618844578 827897303 783109008 441749125 637070122 183172894 300204149 598484537 705881784 106303164 845732821 196422196 818475106 178872683 143843416 783636885 838900245 314336960 226400079 535515252 745331040 974819424 453689984 730901016 438568384 600949647 629270232 935258331 349107790 177887074 256708623 721640363 959525761 946149038 535244268 487951554 431071383 632524286 295480827 771762623 648697339 741579849 793758497 311451206 873489079 303139162 576926413 718022726 996054252 505179739 560881219 970126687 745335148 117699236 386014910 895176351 365926221 434536934 406888619 648619420 710352041 988463189 581530261 236642795 436192496 152639727 445453549 435457670 829649646 265637452 170171683 509600293 808043011 256978240 880781123 654781837 124678421 356274445 232805325 513664364 202646004 838453782 406372831 839288890 495037294 731532100 841843785 336219672 174839857 361507485 955161783 740333115 408060280 903081811 690564864 444386815 116991346 402014019 453296856 614189469 425217349 144965574 434253807 527174751 265795504 282301441 734733892 436026422 470306693 460994524 745740013 734894151 430292989 945109959 968839627 924929999 521428783 546071598 114449756 770524637 831803337 454098531 184998695 858268847 280234371 524154216 707569293 821753276 780130921 539250911 930460947 212854653 824928974 743337313 467086347 423168250 849677073 420310851 271408634 662152458 593293466 651161195 769811533 813120481 428717253 197826868 470072052 288561288 305246073 278618615 190477005 564599648 651110263 165892832 918259047 865731603 858573540 599779986 120825304 953678438 143374891 374901932 759445359 412048123 318669366 416522570 595200524 302087980 940736428 396067224 149622403 340784764 997169756 836231278 968421684 497435221 649492221 667655441 912588980 571118666 401875589 854648722 464175011 619793323 214036872 123434984 684496279 988313957 744831125 261144056 958057456 176840056 492961169 861252566 255184303 283756801 926104665 173196121 477230969 659032202 613124272 395156119 207508687 422441801 923257547 193820896 574906599 385592091 444052105 885975555 749321221 589448366 205094895 538828914 359295094 986642869 479314636 495591078 651125748 992576636 609876859 213192380 838895372 516606429 958838196 951636575 988300840 458587024 554255812 272317517 306143059 893047789 866011514 126547694 528951964 614252647 143985862 851907858 492029647 416876615 389018111 776802819 253896323 714914540 592736789 986290149 339970856 567452701 879427979 813083057 961255158 659266651 315420053 246837994 143933216 479192835 843933508 954188396 903974244 675668511 592122051 684930653 237978727 854389206 323031072 865882301 365130185 638117162 959490577 322106494 320819388 213975645 744295581 831088799 216410843 524518512 518725369 597981898 896083713 109408922 884545320 799864907 437962943 623637552 499076815 919221865 426580892 866478891 787423261 821703121 657637293 819613441 943916612 239215740 168471359 546608070 118874283 307062298 330419357 335083789 765040697 384247720 260089899 285463839 974093724 253776525 652774256 696882691 341363808 160776201 966963269 321807173 142254440 422127031 170876401 503301121 825563255 432169894 265024530 999186980 854842191 417033701 262138525 912682945 379498905 669945261 783923298 863297832 734365930 181199829 368504163 127816191 869670370 733926283 918978051 996389534 801569441 998188455 846224500 810764546 463741284 578761748 314309749 271167956 692269503 487475330 525133380 557575398 502407849 141070628 185667639 585579496 403631323 327809696 912969834 359156577 648582438 660781424 180836916 694489802 151285003 246092624 214954944 394325900 101965482 577595124 957174394 275067697 372109575 779332908 379557237 880099629 986834896 554435314 431245139 959682722 759248018 550542567 733818843 511406731 624909380 484207734 809709483 488828586 367489001 421320165 990439133 755251954 370325605 678185103 730687701 889010268 124669545 130784210 907906470 880838111 537281178 606855565 550165207 402594086 206772179 314150472 328592502 361854732 320546068 940575581 283415344 790859174 124481679 257112420 350641550 840330235 410078771 771057975 492886912 658106752 369213815 202248608 572554336 660658623 886321383 114162183 386834873 695279764 394576599 914248066 509924353 715059761 617424028 618310948 757004610 147556252 686525327 935546674 442452857 418988977 667724956 935706971 536969611 465443164 644702606 367206657 541644384 525036987 380378799 789115175 305325480 342076693 721256831 231124338 180534177 409660259 903646550 156604021 305479995 110572903 479765066 690804894 917957587 298088764 774416232 789059381 678146217 984640887 383556693 863283513 545892902 528279536 202632907 270099353 740095906 735374562 984615563 406143260 749149010 430852889 196463375 217800628 980997294 154107804 409193988 171265762 463452165 514766141 625764328 428902433 616899748 256697217 216099106 772867258 105685199 835157906 595921059 522913478 860445066 389809388 249442006 364132254 470076067 687850859 237213718 495472951 282299651 611021749 816676442 592306902 602394476 588295129 552562058 894576505 195293933 549711332 563185142 324984917 323965960 663937787 880502910 289760184 804940294 840044634 202281588 517198254 652496557 694970130 952460364 230898380 354263036 791855980 415432657 453786934 464897479 339372301 346053037 846560727 521682379 496486559 257554125 950600431 521815603 999338600 654585779 639747397 562855171 256079020 163855491 508071972 167283486 495127240 257093864 711964577 412752791 449025163 442464470 137372155 628854199 276497131 794238839 583706764 432743176 601232846 636809664 237235711 589848486 406232487 879468520 930364397 234980774 626308789 227198400 809193369 817714808 414419556 697658711 473250213 921753987 683644162 159597379 126333490 219581404 947383600 387276909 744591292 873440572 540861325 158233194 554792372 799284883 329156033 282668008 488267221 981112230 293106551 757116600 573444570 846120960 553244090 659475538 890094509 927369518 246137572 587580016 833929956 299124311 549593180 960901505 885298494 730222219 771544092 848391249 281475746 325718911 998161500 199015826 236346123 694461255 405694223 237873788 394529437 308568139 683176460 664305128 839096196 238840311 338084537 991672163 198729182 936073009 537261298 397560645 646754385 289811228 727304209 851458946 601017172 750767737 145307752 153564357 515942483 587965908 129726893 920620383 151849971 739039366 323389987 859996587 961337305 875930319 126590409 426602414 195251572 573459338 303104824 693414823 661915602 181533037 174757227 314311618 423159388 616289838 556092946 792449156 633987021 666696279 596340727 768320181 462077922 707895907 105272451 267170890 743089770 141054997 268966369 599105667 643325274 957865851 322337900 380190461 278471925 879476199 862675735 598340980 200756200 540161898 838751116 631520431 541697946 403048106 423048213 421871601 868302952 133365820 409911630 647251864 272232961 492236181 348826477 445208258 362959165 939761062 222280754 141432648 965995002 136987740 293744718 170275519 441793854 331127155 120322099 524706993 401419568 236827838 772710685 142815343 154452984 768739445 989108013 554518111 975246294 594310937 453625002 858538204 166761393 358735883 606352358 974920357 636151133 158829631 180009760 857477199 482418999 376026921 575990837 195059591 947537252 695454514 542682332 573801507 576387540 430908032 329250702 845450302 729292376 823353099 543169217 640462279 597829408 984352758 977734982 382773832 502692711 925780652 241161476 355517635 743251896 794288756 552189981 809535301 417885581 729494910 237436192 968799313 698983680 711953128 365361078 419215818 505496961 334309027 655907525 872926882 752201562 120568017 726270832 628474780 846500167 900772200 962213240 725090359 595955789 508967157 746147404 639013474 139974832 608413072 749295661 567029119 108761031 602515046 582875148 880839272 948366198 203481410 107379022 140435236 542077810 590237169 318397238 404400413 212094458 664392621 596458560 824697590 993407688 892689476 324826166 619406125 308440896 889116741 107060883 477814696 752251546 619201551 189665240 478070407 807956616 756023301 367968328 382057488 658725643 791540769 761899475 827803231 650160641 577926063 695385557 660859258 249165343 201515508 623484894 434352065 127628915 450008204 305210281 958078040 759677316 580212604 346271127 888272857 805301085 914503287 853638839 710951730 937820365 561735135 826741684 399830614 426544596 213297948 594074290 390991229 406999347 644549181 209228432 109214037 882736048 127836754 843352619 536101087 464928665 751511647 503835595 742776768 392983306 299061238 205698110 423225549 445480130 211958775 706852273 522730239 184599258 157031905 338338188 847304727 633380857 111505841 357320338 698662221 533770660 700681901 608435935 493822271 367832225 672240377 874677247 883491869 394207888 676611608 845651336 426305241 517437367 931313570 231343492 449038628 448514640 464621077 848907211 705283960 327152334 913950039 962579564 723536941 748690815 640068611 878557890 731976630 898137162 630609553 491076479 535749538 692251910 653281696 866869332 660271418 227067136 781034896 636075473 419349790 698377318 832307418 452307034 382192923 898299557 375936292 691414970 169243794 201045974 737816463 770801243 541460993 149375374 487817810 944633477 648554943 868770571 846323633 389892461 155747383 665966334 831880657 852271167 180358538 635437831 554861142 261610751 407719824 743801354 321603673 554889746 481746950 589572192 208458587 709184501 156108458 176060445 123807654 194447587 463099746 955477088 651298224 647249012 835647582 865310109 609844185 313198620 597711882 606814934 656357878 527909367 629002793 783266972 729627203 349878195 963519966 713605586 312799383 503143084 348514500 722031768 565235705 296420551 960400792 345773179 579750159 475440277 803502124 308927597 465614847 783675898 490365657 505460142 490364249 975891045 704112087 607151675 400031442 213351090 760930607 571048687 648460005 969381506 298078287 232687830 663730884 966514355 289924280 504052507 706081580 175387083 445113920 541786542 888844145 106758365 419308728 206601791 893973898 979631774 478905893 958895745 448358353 753307117 142264160 799513079 876640754 212137951 888218276 688280185 546755793 535127348 456971416 806111508 863419502 711425243 371515723 616719717 580174183 230145772 925631172 984632612 362535163 717178390 889069683 846217841 332683039 580652488 586478589 529850076 886137600 994153380 769613363 212259264 248635787 484562345 216859991 833973475 203644556 202189823 539278138 305214399 761841824 998504760 374328049 581475525 649770195 972038015 160467622 867429048 842796742 506471492 703030437 240019449 116536531 558431004 338042136 677416795 941162104 888866330 522478060 602142071 128504143 845979139 274179694 432895600 760395147 539474417 416345856 216833747 271240332 617455201 225034596 276992236 634309432 940535380 604310993 757551365 133246629 960242659 251074072 845973596 711821661 156734243 778704643 945756934 158329246 196931005 868792769 308872669 151208607 595270267 584552692 781845264 657421243 512055416 196942933 866853884 808929219 674043769 988394665 723088365 692109702 313559736 422301549 431200594 131568375 758540298 755577364 998166181 635661488 566909003 453729835 804287151 182399427 934311012 212777568 513680789 855676045 588856244 775794898 157227349 369136833 753551785 917307029 914737335 778415522 318775600 947103678 646037505 958410263 328483482 940821730 637612492 247165036 512814060 124172817 579410548 693875765 997592816 571667195 694030344 825334195 909662599 371254257 759359663 216215816 194851737 309777377 377072447 121406508 528225081 872696408 360854610 363216950 243336095 302827557 359918123 104290240 480012126 201426127 425743500 524681858 900562371 538745681 923329132 483854501 605108134 310253155 120682980 214197222 354554196 121572339 542641541 134066974 204401193 482661104 773949672 847461889 168908907 808023052 145042847 208702972 911426820 151771848 502128914 516206651 519601059 799035898 744634973 356289727 137678569 253340069 314711225 196788648 443914598 193360885 929585047 559985910 981531923 453041474 222762718 357478519 679928733 626135609 784948233 980830529 283837365 727152837 511459852 219923486 916168074 468159625 845423814 682954676 332594289 965281763 283626999 618646258 847595239 992189434 220740357 307301873 615308686 885357942 405672814 324155755 397191442 983436185 192891834 552446585 306176567 360243795 146163896 596315420 955910223 397843704 767024273 344925606 872423686 473241205 236054041 287092800 605487828 769156709 641168376 532868023 400462217 914716771 624407403 469062423 955007339 237512695 117615858 358163797 586060244 928968467 860035409 862555830 497541104 896792084 856470337 338257028 293569534 881183904 241664771 811995846 326155106 271532827 929060304 416034790 626650206 997259927 636510806 177552760 506736979 898368263 287990870 872965882 663209834 175549919 783983609 909902591 791321576 759370057 706838484 344432819 720911956 878939406 349699595 323304987 472907495 753423505 139692392 296356710 598328429 914236742 203386783 928645190 473801504 339875130 383715894 965804675 397626014 301709302 367427866 250143622 521610499 660351049 369695540 377583201 329149393 576864244 496110722 971553174 495057801 794651632 504982838 423206432 213651122 268336752 500654242 870005842 134553480 397331497 556799520 505657226 173191544 652397663 772147806 781317713 439275576 116658274 700427630 584002075 797643327 277944533 533917061 521740715 961094806 233175340 152784779 630661529 512902168 543481432 426507672 741224783 106208482 991743411 712774490 641488341 385256083 711543838 995259498 929338501 381802773 624651270 627808905 306117523 126097742 898780396 500607472 617191094 164561502 423047852 389619681 645789744 198060067 548481324 997929211 352267876 416195985 219129063 252011416 153886202 594491913 801955486 622944583 105767848 677769626 973317761 281083802 408636543 951146384 807897384 300294606 844410583 256956530 781342329 929052345 369732158 876315642 199089023 183263867 515187464 697811074 191577505 451334039 602516136 118372479 587044842 356391843 126355099 325411709 357214029 198505690 985574049 438356464 739800365 486860537 434552910 565192919 507385504 616330232 293445719 106537458 809897586 451864595 560035266 782609181 652911579 373437095 770092544 301807474 891618669 415086249 903091814 846952854 712077626 939659652 549440013 807375559 335739213 331610210 592231864 869797280 136243430 115841847 229767138 864086004 387423173 107626584 378848590 945703876 326648771 884459635 621032621 407685857 120331560 450874151 529063420 824252758 606716230 131891632 708008775 244205474 282267343 790866596 653910841 860241294 602714697 116422801 912213742 852061728 130101756 524214038 622805058 603207735 331398546 226525430 931190843 278199740 666083825 696933701 996587570 600066243 698073176 581469010 132688651 211877487 563138448 943627826 504318377 721456953 848691502 917932971 795065934 266268577 461685351 225070555 970794250 513991793 268363101 204725099 146006701 421551454 975938753 230678308 250345322 976556570 166927099 313311141 532933102 156528975 168303701 498618483 724203336 541516674 346447654 965301865 271497281 827274032 128204927 324714316 663157542 581495424 274239048 547894195 846671973 571929500 148090033 866359177 583044208 840801871 151064734 850842544 993693693 652308284 275205401 531571029 476788992 138488332 442983938 776466119 852505552 880300257 149262970 872275127 445964306 556064909 963868913 900383686 355006560 990507839 681012087 182305644 599756566 243000292 148915652 664927724 631864970 143271210 575321989 728608349 409703247 971166124 430663325 661041372 998175113 385933686 491573613 186188664 929281516 505757447 606116621 183121020 429107975 363785397 596318094 555409061 771669007 870963882 264744700 603889199 184907007 742894438 546966373 929757788 875660224 160348759 645802913 747004397 991596608 268261739 874441588 871404122 431503241 432604215 324864915 322766561 339608801 351627564 506158824 425487216 167824363 518257033 735395539 144636700 778356034 196619889 459934586 441666820 134597055 687698997 145255942 684042579 435528486 736267459 690024486 641570680 871356023 628159003 161496951 747539387 141244196 104518208 101320629 458503884 360311745 515713141 722069276 150043195 788063949 133453122 473371764 457509303 790042472 139566544 986533397 403938772 612004491 180415277 147265000 350300572 771958860 862425021 311993913 305789301 389130531 674366452 833079017 617939606 774054894 998250728 794466017 231686185 455145099 738440455 577151461 855430668 565337698 212076989 463577742 859298525 258982412 303573358 364301665 692512343 293087882 263510240 489660140 627256180 718664217 988830725 523988500 661381811 644179994 700173581 194127141 790314587 237219156 983792248 907113322 628125600 478865657 901763376 206882945 249536448 110994438 741564669 977256866 407715747 918140457 477941520 817888865 110456864 211099573 860422741 805092222 571280985 742352498 122115212 665147551 271674326 711443466 511595776 581522741 496910690 535454298 152765869 463175722 532289527 696809407 347984384 610745761 485798489 732007565 276630989 615703207 141015167 112362996 541763284 100315529 458973188 381605685 481463111 291999422 108374084 152781127 669354096 302848986 142583232 469426405 660771043 377569692 899758989 785402700 785111906 228825459 898292234 469198102 328567163 673795082 429613210 368725992 894477150 365619841 631189056 626126332 633891735 709929226 469921920 810209574 945849553 223046040 421454710 539130023 423743987 257651184 773402529 814708333 493023058 856573596 968597522 105132783 127536903 907713018 952868401 756233517 789180052 663436508 820964409 589575559 710081468 788233601 205664125 405018643 697478200 623144195 316148110 306376360 791298539 442514148 476874929 644803492 542974539 503935083 263855926 374257801 843441806 262183030 126901655 443018036 958401059 988830107 258931195 194585202 714274802 715122347 656537469 170894567 673772014 685411126 911901766 500636514 297455097 635767314 511600549 191323224 291113871 588960235 576959461 651364880 212186873 128975226 405664581 928078344 422925224 401866745 627237642 399039979 295542372 424232052 157595971 454611605 954585844 520624537 971463769 111194754 196256343 892635158 358112000 266393884 477790181 239645621 644954076 804404191 643547130 309893647 938851309 472014568 223160610 282386898 860109548 679960400 632850129 891625527 699912477 961117192 897750968 537588200 278706196 582994371 481958492 368169838 124838821 663146230 323498101 807754514 852124346 654251556 477602450 693626541 916209073 142818155 800030243 747286453 686705161 626816290 171820554 840685542 997400321 113162987 862055016 760062588 239291731 614860538 553735339 900073003 822490878 816156916 340264512 545711238 458356746 697288948 582253788 137656211 956790594 959956288 432079547 474224579 956691444 828905469 858808176 393577053 627559608 996978945 409078053 130580103 953521758 336884405 562188703 275307673 439922156 545162923 846795124 782800301 687296022 985093994 311763528 268533800 689411570 254422806 106394677 572986295 577144912 999133917 878759955 242518612 250229197 609122164 311038448 824912198 553340596 829375707 257745126 116491949 422227684 724058824 498348495 889648599 438253741 990388268 389862955 295216067 987738649 163296093 871065093 133371135 248445230 989238975 833541959 459101528 373321457 319400898 911670840 219412853 542873505 780648328 381541632 126463082 887656535 475964187 133704431 615037752 692914533 201455755 432618124 286054215 336196380 260596775 873096991 632022686 509168680 776199557 606515865 812320825 430140313 582703759 787393221 175671691 882943468 401378491 791860119 795782701 895128908 128306455 580740022 154787565 495293987 640809056 634109062 847802192 146071336 859718087 502723414 700858650 257967723 850160281 964562689 652393197 809341607 617156307 931824470 170274423 611039625 462730665 607423760 503562053 290255217 926983093 411058066 942239262 225793554 257204131 691376418 922399571 833357778 326574533 814889022 522961674 268524714 474651139 984503061 258711346 878774611 422854664 283268629 479624673 762129739 757661907 759367805 297494370 540542139 538310337 975797397 771753256 893549681 463186784 649482845 576427451 862775350 931629796 817634364 279047338 346216225 606091466 479370898 732449934 896369161 678602235 332321815 312645871 366486124 576238730 208106654 241388569 377645545 905902603 348271331 582157778 996018445 615375437 672236428 463170522 452702677 936511862 360605884 686065452 853090355 114588601 494291321 714042550 448005213 545354914 252757576 353223701 761201095 685559004 275722738 684470101 194108764 504386628 426342489 590760902 321389339 716974297 406548620 809442487 502619016 111401697 119696390 943452586 868444426 422490028 406054936 843651588 769197274 101302871 792065502 655651575 911565278 275598326 842466180 808491194 629921921 642866640 437734381 539310153 865555332 631557408 635891410 932620936 521596632 762856608 690085635 240291651 906778001 469902969 606554135 792101015 792010384 547818859 742866178 864987865 614063361 369206221 693137451 854266396 739356960 672343616 805316608 714971033 754635746 644700991 476697887 638479715 769513234 432045559 854969404 986270044 958175075 918703067 516948865 794755590 404685258 759517120 623645960 858336731 891433053 134940131 295701298 626260156 510643938 178998607 344835143 358960932 827070564 669394016 362850142 593387360 159481315 754003628 751486469 206139687 507869409 228937288 506160021 883252815 704171046 790687437 138826976 557627900 549208748 577600862 846042295 903585281 524259864 105720549 699796580 504853710 358550349 822465210 777357806 963201203 772521307 132401229 673412678 724971022 130171074 200813712 544312111 210385987 953757949 608172424 302301539 881944549 235450384 331062895 548345738 429350926 217767235 231039113 660985813 960870309 860815537 701428178 266223425 349134583 739487999 528212298 808348448 270861846 408869465 441319450 662722490 184700016 900217874 667957873 531100376 715210242 438919348 272653540 106101631 566751851 844498089 674332133 592935099 568776625 972513463 525691703 160657468 519028821 197784632 189722387 775280155 633328817 623437561 852267032 150277712 488819811 646145711 604818025 309901866 796919008 802359819 716148769 881193846 202333833 699879123 742117384 533142677 555238772 866267711 131247784 908557890 341277907 286137672 468127135 404210502 649165375 989728321 317738790 170292278 144193036 543376350 517406021 825086643 363094787 733918995 436388761 615531658 901172290 401069704 169682746 895653443 463832922 616781331 704871553 654935760 711197191 473321830 332133268 809267018 984837996 656360391 996592430 775684327 326857315 782014493 351037542 109278972 226989748 569448219 895678301 926034461 942492546 959349725 947773061 411050813 915136535 887832930 845465719 845846064 579616050 990898330 689668638 279929372 171979495 655621499 120228487 861573978 934952005 346533472 659399961 103996992 122977010 478190833 290948635 600155152 702296538 473002855 270834531 101566120 785952164 673048724 879194762 479670543 103699287 511897712 320619937 147697987 764657283 593409177 455816946 991674626 122245786 930911303 195583403 276669914 473899749 257432027 572862796 149849224 813292555 331751103 568373347 534578034 618282290 513275627 612588200 301223624 670997841 997306910 117735081 772848542 960271152 341414221 656893947 745092780 433601733 312068521 742560241 695481918 839512989 857741031 858451383 334696538 679861282 887750086 344206184 584175443 915213199 317760960 310345878 303516233 330273421 691261782 368557973 731624294 321037750 569093258 240336551 343346788 473482955 212467532 530255093 418314995 744684975 467758245 302555386 554999505 313888476 282011316 460999288 554248657 653919697 539871676 991264307 317345106 222860016 701043464 288674534 286826532 107925354 296111631 833093154 270138766 347140904 983934432 182782418 151301059 457714885 745424637 565055693 125115740 802391934 554329937 442124433 132118803 848843587 840749343 932624661 901347691 343910116 814385375 384504166 351470722 463691296 786978633 897697407 384555000 662583516 148390450 671909136 778190316 928324918 353798648 913985101 683479790 753169480 846496080 671710698 758987820 929239451 976885043 927559426 202464174 948755878 960629948 681205985 865143801 819755354 309921008 368209180 157927408 496732700 161114305 776881706 463629028 699121151 252203773 862066577 949345551 516253744 101111755 155536549 263089969 723242042 723300197 433310864 992745385 656230703 895495571 657779817 741810076 501068615 692231091 583423893 508243798 656531227 198562797 864781555 215873431 365533871 939311860 984406424 843322904 134533501 870286691 927248871 184665608 695882042 962236579 783768998 600065285 138312806 132248874 992357367 464886713 707119812 916644004 927859317 645439486 277444136 360109447 149262280 153243305 892594778 352308857 813361574 384018394 445987132 649210798 605083023 309866917 535205331 925957179 190529193 418672911 557244069 998970784 188202550 623305084 546836068 799466300 449741260 380723935 940890687 345572629 373498437 718586946 675682896 899442955 526588902 794852946 564532117 465876195 221187462 419786334 699320342 145415533 145015647 221249966 969442311 967686076 960010109 804246586 566892644 725611021 496909663 478926629 779263728 915989249 120000170 934377057 167814154 923068280 166880246 797034424 279401681 130079186 342766713 535484892 506938658 889941868 220298416 805049951 147034741 653983382 760737505 978154906 808250796 879404792 811006042 102055161 852028729 908645633 265825911 647769437 843185505 615052242 223741492 901380008 796654074 895706099 631007679 123448477 649874843 591068381 423233276 704155265 397349958 816539829 828254451 707160872 224347186 945496215 923662961 628887072 294232774 570384014 323731379 472715366 565812754 124443158 600193819 852457677 164527438 691816202 459535154 878280912 566865734 548030289 667534475 103604123 108043785 591807738 844765510 445195274 942083284 108593703 223074016 460404606 718959549 397494247 475720828 445686650 818778958 754208504 455319537 740917741 600908289 311072946 617250601 958552334 606066979 984158818 251405083 607859332 968815570 708581018 198382965 961929388 406938163 592380249 152219176 950472617 798500634 548089378 391212547 309614111 410382127 242149790 105175932 425794288 919969168 354707124 846071252 562388097 898587588 666773438 712346097 469668026 244541339 253842590 302620220 251230326 232898817 814714342 620142883 891904920 244859402 940209450 133485417 256117221 970902661 115438661 875021854 319123621 621699151 201329278 357451403 990808835 377731165 717849026 869302681 298367564 686513156 580363986 913061119 108499426 132801403 974595559 291434542 822377055 818365832 897324056 433466395 779462284 679674661 601437098 382027141 400981038 885108036 608158762 159873964 757954940 117457411 384305587 694798902 683478683 582168626 333539383 260420939 412345160 466677536 742344571 278557700 903393975 873096360 586298306 448054682 626007803 738802836 467524184 835828541 110715551 344374887 575743374 299407946 198816502 781771233 881722129 933632451 654364592 897425989 624977168 761032802 845180085 606639258 405938612 717070379 543526838 403188370 745746375 419693740 230424685 349211380 282030994 659608008 845630919 471989381 794919049 661820634 431700596 534482340 535277867 484037752 442198661 684621856 203344752 225332156 986270856 481875825 511624569 266457988 352355525 714934394 232539329 503234095 495141387 541620166 967327183 948605394 235455968 266019523 646718462 353033985 824998523 234702486 223890475 331300393 974081222 717700399 136094166 180428112 546676593 630124774 870124307 779169005 100538047 940751573 700414771 572070141 565941364 602587646 772461847 691825785 338868420 680392148 376533559 422615210 999351508 163038879 813193256 239439441 718674359 366110887 956593278 774807356 566740115 410793593 317885084 135530355 577270891 633485065 463214248 311102759 289355605 376356338 209015370 699787873 306032740 374917899 629918408 683721540 215226357 474980238 316449541 639565289 307990961 701780387 873889997 763328418 207285356 648534865 154766821 953383642 939821945 480670253 293603824 870582349 974409807 855774354 504053920 450033945 806919287 673048135 848174660 950597175 663103996 842035888 316862402 159211873 625014417 158538998 429381674 302324950 723108988 198759727 249342595 456645032 663067347 198700152 518567131 245689849 892085645 359031068 517218244 694495057 751190687 574471087 899084388 231594872 526395805 718256395 124359740 656763851 205413982 598452177 349767133 128261109 169347687 931179902 766277892 420071358 255052394 578942476 609920995 310499308 911050109 724330308 808545618 550048499 834147900 664092642 889313708 532147769 367618272 674699381 343849968 818296495 178189130 705030500 342425955 915354495 189407028 496973353 495053049 875637800 890699167 904343396 882672637 285695571 521663279 555094850 433293881 947482600 455677442 510529679 187676950 781370719 369957402 275722672 916760402 601606988 668848120 109910642 268275183 507120961 883647896 926494673 842703135 865657217 300632461 125661418 870419953 165459810 996641837 485154916 728234736 656975122 448072650 216063227 637005772 495762542 984404002 450028391 965037370 540286212 808827489 242377400 948440420 255761188 733783028 993977222 440691628 312876333 467972909 634697217 229727862 881327320 175844082 440284314 900465301 823137267 251129557 866689572 105701051 564794295 544383264 650775743 821319144 200873261 218627073 198327153 662854670 863993929 559249610 463673642 652186534 490777466 440232258 788560783 776331806 552158557 166891888 510372152 773688078 384291910 572545471 201354747 123805793 882037048 759754328 538535356 634459167 827874493 216952760 140783851 653828388 506871315 408096367 483207705 111071156 481043149 478980648 687839020 367316863 679000099 713417514 727077099 894744771 810562598 939946705 986661832 893191581 226429428 774090810 345615351 697302339 709646213 435486218 434193637 861781591 449713515 203318720 923979490 600414526 851989345 957829537 581533944 461394639 975440712 664214435 911452282 242589026 412656065 594040514 305899490 961809372 134735897 227852365 808192136 520240194 369709402 465561031 150354842 470681481 203543945 138772779 407609283 818089260 992096835 208991080 301007836 890454140 649599853 749936148 344070416 709155962 750011762 628292481 861977460 188604516 505696337 407062058 959755149 264052025 520747160 916936372 828150690 958001515 368188737 828845879 759726455 971531866 289652771 901416416 210554269 581220369 224146825 696514605 179652256 453226136 791348820 142576505 518986396 656472866 588840045 571951196 739769246 121931704 537527030 856788702 295194088 689138691 473221820 610498744 470045560 829729674 482449884 166597980 377081251 222812719 412666595 645188767 249111429 983223099 880067093 687427458 819152962 637249824 734341582 796483343 103930906 792923597 229148333 827441588 246128181 243218284 307108960 336359706 421269838 364069469 582417146 390438850 424914667 128430932 993603038 323563458 794780752 575424284 748902565 940032404 771989534 508471235 269512504 749928040 581535408 668265132 194165144 761298418 343673097 372815149 948939070 185448772 711983977 602246982 641946616 220879168 659612200 139333249 421750998 617208277 567937021 291588951 956342279 899382106 451306310 461575815 829503866 792205973 324068627 442813580 590614193 122098610 284258845 711441584 648672115 541058465 749218171 464900414 271329440 931060657 550424690 354114610 258717528 851436672 808122755 840987369 634065713 547998604 586370916 551543030 237338399 867158261 797419825 667251033 163588778 574616811 474707708 637333447 381038962 514220844 698992396 818739068 791452937 428806697 280009766 308619045 915172572 115100143 137067917 824845666 698646385 216939471 492222457 211479583 655310810 359270937 885245611 887515146 607853909 519524779 732236556 292214329 977613123 245709619 796988513 962848124 856495961 759886687 688042032 872861207 551762120 840399032 742662903 313528038 971880241 138049046 288894110 667033090 138652432 252096433 799496945 745486440 389215474 362673304 358216727 806109323 213609650 914707100 295438498 500115264 849048567 523859715 373355825 294929874 590416710 391967481 115156341 789510095 186812620 308434070 432618498 592642659 713426612 851593565 425072914 338265414 715136444 350275869 276594092 680867590 543293866 799983184 366804871 977087955 628934728 271522145 859609452 991144288 132196922 283773244 618871105 334705035 834799869 220444271 914806227 645762422 509900477 703265149 258513851 959284065 290101846 612508443 102888880 847787429 709203358 569210345 474368011 226830748 329633485 564969638 650846108 266792358 800745583 185575929 372770296 921617424 773039363 726925929 171797381 323767348 489759632 339804553 571627156 620441785 729924802 600044118 954092719 201603867 698585701 425306963 152705490 539500806 409933139 653983901 802276510 313872733 241326623 968229008 937870722 900826451 521260624 304190300 801365963 268786254 797530849 693180175 692055999 926758119 661865249 504452452 994098812 834341689 354502196 394052203 523824589 314670464 437193421 298269696 764201350 748980475 789470405 668874288 983455215 490294053 374976327 391981988 202610975 471461480 966524960 866836653 110727735 221084813 832891786 229283957 930309960 239196327 169856101 835943669 116647786 963874637 382884853 228133631 341874442 316102972 335176332 634177013 473319966 294455153 900893734 106638174 639243264 893288808 683144566 437098691 480051632 541098596 525095042 183642318 261552187 702840730 419721585 435142233 500863680 942880220 161259440 607444261 969314779 352423775 488772113 414363282 236275877 203376025 694634756 728156690 862484273 244696398 151335729 201355280 207643124 604493111 988516770 554694600 910459111 719889140 663109345 281326536 725351625 334305366 909397192 194630761 426216387 676746785 730045056 703838057 217294604 113556264 193806916 920733356 252597920 939064695 709354501 527594177 288487649 598063154 770522121 883205347 247566726 908479937 191300008 243144319 999034979 762264507 388185696 475707414 737606318 427632196 131674061 312567801 788866345 396377415 675475460 310947712 319201401 302464291 363834758 335684360 388961649 768825371 156107929 125232885 958434890 300044937 841592492 923371169 975123712 499678735 865768393 887113368 832694863 489755940 397158115 490560866 350458326 570268620 210821123 719434751 968777985 305776925 497734190 394867820 610398735 514500401 122512803 966535253 576715382 105688474 609729091 988427539 490651178 975762341 663467628 707360168 184537837 231421665 647141997 122137830 176712793 857702216 694964831 730741184 139125524 267156317 636727342 621039469 222832751 815315136 902318936 560459302 498041090 251593382 397220820 676160711 330851336 429686133 223096885 800828692 275689453 765148429 102643188 923514533 855593184 993426116 688545013 397275927 508560510 251714981 930794111 756875001 572877465 805254655 798567322 362394173 654050942 553857957 295867625 294423494 560465696 841701230 787978130 896582727 285719947 401636729 609495507 302220836 656836038 433625950 636368674 275849421 615720929 863655208 694862045 931404417 882829968 636809896 309024339 447708985 279400740 726682053 444638574 408497869 467520675 157167381 586425497 512338639 584790984 228262795 867916371 474459291 843899811 348125183 277268248 468051656 238919770 866726433 584034997 426559675 375558030 189335494 669416941 916380136 735294818 946435343 600221133 770129635 830409953 611473624 408188307 823303520 205523968 123014838 279460209 811935419 827084108 986547692 639102249 294307483 883612910 482628061 597532399 529863012 643262080 146114744 407154148 535372380 479105350 920580910 114186727 365464680 181918408 465991566 157054634 742505211 820093146 997414534 679948253 489028196 633171178 661947092 451305817 922083111 141681913 359103484 200722664 663609451 641412585 942252105 271937951 543634409 320475060 447987398 648420547 474465710 559843195 831804630 132868381 627253202 701668065 941031994 818110284 455568209 410774437 584713012 780574022 264042657 951036729 408719655 299187754 768130638 635946869 985128522 969904476 416749101 293159953 357154660 287260069 816345545 473979193 594053247 826376609 215206787 166060416 292005129 751482086 695821389 417053331 366773910 813875311 294735478 596209329 665708813 158276166 260837484 328364304 237950049 370031578 572473430 693566724 562444045 253552958 780252533 827971588 636425145 379999409 527297454 475231899 185468928 828855843 303430110 391028905 693506136 896323950 480512468 267973605 419460071 950784472 242924667 949673576 859960993 723671261 981267667 495315950 607639820 186352560 904531095 656879653 177904510 478811820 375984449 687150634 967952409 698208636 248556062 834201118 880658950 691978208 289858342 644671267 814766061 480481371 865718450 502464529 762552701 894714290 332626198 986856064 308083277 536586202 310727011 640554978 878347855 741507579 512891042 320356519 708658475 784037502 785904970 138725939 439749314 242896009 729004553 766384129 871187332 218892086 503260412 458680962 928951888 316808100 618798698 436697536 287249973 968360840 587758071 461520308 231879552 824481403 761501588 199747441 179571832 141006914 105345882 672263336 939666685 963016509 203892115 431459333 468524012 576923662 678841273 716903652 929322479 823982548 596340709 321403862 679154254 312946718 898492785 756461626 820554105 185215447 497316654 127409900 802780895 336100715 214759285 716539010 349303940 728026406 189602670 395490198 742836986 407007436 902214863 301384887 321981038 554704436 383142524 645767550 223141270 629210415 401259158 369421817 137384244 902127908 405222484 570142105 893665294 418180100 636424862 696748551 413609053 240319325 984112232 415024336 987114569 229421187 942598411 291617760 266978707 914750978 824310511 145517073 827788136 639114907 113249029 660947077 632332009 648653919 810543095 234335509 871026427 303688726 471857969 307908698 656027438 821621545 105508607 249384706 871502069 204689195 289605416 539822672 531780184 104106244 995019443 569487416 778146492 917848344 451887342 147724319 306762059 407116563 116440128 315179535 740924575 342610840 546519609 500598351 547341362 792433113 171964935 385328874 370455110 100644530 207867513 439566526 617748735 511068567 800398058 542834418 860814549 369592512 954467299 313387127 295250304 356921828 613606611 476483564 579357759 367478826 852987159 263692309 648902421 877417279 491690539 195376645 359683527 312938522 390895158 913466238 257420393 230179567 704234383 850144959 718632905 478308182 439905581 699431765 223825803 964942499 134654171 844627627 153596148 464533198 663245233 408515569 689856786 860453024 653403878 659507645 989496945 556436749 910361674 418670889 466862554 538407259 326637485 382861532 561244330 770307263 645824741 741457578 919816163 394772185 548233032 949673691 856253853 811539269 186842861 188368860 889247004 279968630 615877055 806802277 806535551 899750371 462718409 256348283 336074393 410154879 279771494 409599819 553747761 477108370 611274682 321967169 764097934 964249210 642576839 852957648 528843254 317279516 740903295 765263631 593858003 138139031 850199046 112209252 412545064 907592757 776518897 269652654 300558542 797141350 980318667 256694501 332273576 559139109 570596930 568985480 796932275 707456775 449618810 696526984 130918088 832194401 708749823 262921943 257207100 808206649 554352936 685608513 862824527 320670369 324944247 330240030 331610401 372276478 722614403 354198102 548983827 302410446 605059984 179420903 465001164 477266097 656417751 835444197 462894362 599638479 916757248 342970966 539586391 821052053 745239347 382970617 768668113 857901250 495649938 257052798 589924181 739893151 656514242 762154455 731900134 911397180 905326320 307318700 325562606 730955832 518763276 632844473 263631652 379141631 281655603 443836418 408691032 642150968 308483234 434419419 625635207 624505330 670158594 756370966 954127647 343656732 122293328 183102935 955251830 765736596 271320576 289694573 637225800 416844482 107720050 812239415 107784997 252383997 335486746 956494464 514729034 702955245 186962556 179939994 320479489 594980214 641756214 467407899 846712973 661416642 935907010 622930306 903722732 943166882 188142986 738131894 700782433 450544617 995494376 540620559 300127290 144744070 137002742 574585568 928563286 962478404 708033293 386626702 592495790 827619565 288770809 149753471 533541436 829444200 402580365 628956256 754607499 382309039 692952752 997447307 414628969 830540971 390858065 153908839 594230074 103684466 593850294 812454404 129923310 880366486 637744845 476905854 984872379 533145688 184885431 986993700 619018824 110502415 310868456 291285871 203762088 112716755 673466287 686089465 683823413 233385271 419135231 380972032 265852412 232897658 292596065 643035839 453265261 827023756 983730539 188967744 820065869 489935421 249479226 580971098 996318787 536701390 878265623 209771157 378397280 464014171 474590103 634745804 755653336 910414786 199458675 688126532 434799636 892686926 879111758 344700513 922464346 255600888 491729082 874405203 566606667 723384489 202162436 582497486 373171605 154682277 596154535 588632723 725438085 105229642 569757088 360885310 695345192 442509742 554059404 913963736 699827035 604341443 192376357 536720237 203994993 430824902 265852880 322849961 902214346 558488628 125656945 651158081 718223732 570656357 128595316 109952075 342534983 243765369 904408455 755998913 635578229 950215222 194231403 797389590 553340271 898862006 523118830 519853585 634696593 902526008 661122092 295818177 538297816 553792559 915560149 483738697 767091871 935484280 758766019 531541346 391780498 651068566 377197085 221264594 142957922 374877734 752515271 279509252 758110987 913536544 383725804 250891320 499002446 423291222 940718838 333943941 573966174 756385644 623466576 136632976 329509276 158914351 999293976 864929844 339999462 205905887 259752680 844223218 254739306 380049679 283056452 519674208 835437931 229714913 122155246 148179061 994298562 509922579 231032901 620582968 715055596 817117281 742470416 958355137 690866425 835948392 807539911 583678685 127693249 147497760 369332148 273570174 696857518 939289442 614608267 505675913 689888782 726267307 629705018 878967890 451280248 581502012 183630857 970980842 232632927 664147157 666060143 757165779 463195681 636902259 589024062 339075186 795003957 882064249 776733435 594320246 161891030 565091894 458498161 519082527 394207840 887596560 762002703 929461580 262944337 273213489 306912470 190075710 896830723 139322829 208011214 294844747 630575884 888920193 849228095 792430330 690085597 618693778 534236967 716304111 491897163 250236691 196271829 749697874 883917435 319499409 677123358 977444062 670533530 355626865 754376237 795338849 358374044 670918330 227628898 648097115 359176661 636010067 846227652 742278200 224535704 180563528 379963651 491772596 598669882 946342811 808290893 638546512 635819861 979683122 302191851 201330040 859344475 142913778 294030847 367737120 595722778 721352157 145624394 237311319 880719583 696152752 984974491 816497467 286669791 839504765 178743553 305246192 834738181 577981593 634249703 239400669 248782721 321321631 925010689 298947086 335823917 846864461 747121607 295921438 564312939 422621581 200580893 640095012 129812944 544681976 735684248 773527896 774215589 983688244 434783537 779492723 922696800 852592138 316749485 106626201 633766271 684142946 277080379 873010214 104615622 603524173 216878458 706239907 507761279 979491232 305557308 954383479 884548353 926519395 172004839 540107270 176514607 235277999 754933794 974652968 277466103 734604954 638444114 934065012 913667631 724908471 742814078 513625665 368258212 677733636 873699779 301971904 605068442 757523978 174136075 979267315 792395294 193411009 749925945 935138655 960020733 550936475 770766381 105092028 268430447 179596083 377762347 663944215 959499414 270489962 836366164 825123790 655952522 525096929 685326120 667450453 249040866 869542182 670258481 910685647 557093102 232794450 144393359 801532297 675638074 204276154 651580033 292981417 423655787 916381695 957011938 644265269 225572528 648829131 504748239 499440688 908781898 422674014 314182139 922386157 240004668 154177500 475690720 709140981 843817219 353421274 614079798 699383897 828545869 428839309 780212342 729864438 161595654 886072124 206945251 572835226 894996771 174849825 893914044 229390252 322644424 858459177 794922808 193927359 725188605 522336341 112886129 479543268 982248813 419654271 270397738 284512236 823848421 226127744 251359403 622015796 181247217 158791779 881833889 247812942 351527918 404345301 721615034 247224636 333696021 100480692 160482256 573794154 337447825 673026375 542078773 725975225 465336229 575626445 545533480 118584844 776558662 554449334 359134650 613157569 324317359 528320520 673514384 526024547 963363021 704570982 371000643 564670947 616586024 802587620 828136823 652259232 861981976 153744441 101539932 796473401 382488916 362371258 350569457 809263390 167343809 687655732 906447196 168982826 126509519 919213857 860309213 539610779 156850743 572130281 853170924 396587859 223677219 532403150 394698526 112281686 930938990 931271786 964044777 466820915 582614622 354694303 455149087 319686908 420187843 623904795 172807206 825158233 276496520 265614826 426564731 606773473 718501611 569159042 499474506 903143566 592094322 742555211 711516997 880626891 490704443 523660776 141572929 632226784 939722296 717510789 222613041 288418771 825994019 829869806 258578012 597152515 786503594 402926990 212294449 388752930 541070622 165568718 805448323 726201016 794132691 314433606 803099941 695971760 345474965 576436361 565369074 925619446 812483224 400286314 915393937 529964755 410513305 521263140 274767785 569540805 376810772 776129535 302457501 809299388 112085316 408708374 719711118 313946936 730662259 993628173 488141751 412107041 772492598 205933240 863150352 173414582 730272343 596215874 403163053 671537875 470395555 643708176 385999422 590241292 776896313 556203611 441472968 786923816 747449882 996416700 947057271 463207520 485365635 235505583 588823664 420772743 358381341 229689608 156280228 484976323 975149570 340265265 664410991 991548903 476729377 565995595 704567317 987262140 311836091 525910992 197070800 892028896 383569055 457591921 966373868 572085701 405751144 458224932 726511544 473079755 915054944 126178413 864014992 546198708 122239171 396670861 798353963 485695977 875948418 747534538 204581983 496284761 799233814 414427434 147390556 424273378 731448146 116555577 578315956 954073150 399254872 865663180 869511793 906740117 727446555 364654059 362257723 954236560 144908602 198853402 589199459 477816268 621595936 548963713 578959104 445754616 237541085 218987490 835432611 912486539 715130650 620424398 404052351 437160663 380104192 330839031 354140407 338853390 157824852 880390896 360341750 389801903 911016932 910293926 319836896 330489759 166952285 633039068 434254131 369853477 861496188 592515881 978590266 173840424 560967084 102511934 814229371 604515907 295744906 945976668 797548853 450122522 730830240 115611189 763902787 844595613 767949255 444115368 416368081 445692185 873052119 848724087 781488620 839938297 257329548 913171023 706216999 544966793 342155730 298703802 117683786 701376406 830743483 116999088 519831078 990255672 236315827 745049272 608551025 831322639 340107075 527469766 636289097 917897606 107428615 854184869 995882369 728590480 768974955 779142587 922440563 178864629 614149945 887704341 383892723 827342547 447567048 443396089 706774782 197099796 312610081 217008499 956086042 296981629 518286706 189684987 462943386 135487581 526128784 992527974 837109273 291800556 488160915 821376736 420437643 942683901 473290778 482081686 604076641 861182407 473564691 162336163 875893854 317476283 409501387 754425532 136109054 494795324 883221968 158170542 807933796 143044129 226602368 753940738 278885853 300431539 561944041 888407185 392974496 989661972 133847451 295597986 552355922 628891763 556600287 171645900 724886873 237811423 376462406 631251549 374653572 600925201 994352383 132993009 527828319 103067388 443750659 641812977 988679516 321810493 365425120 713863015 616703047 136135978 853946611 258940351 683742077 318306596 668768908 205177786 126350917 787995212 112068480 549304922 100575702 805392119 472697405 312786866 698743257 499719876 833300101 312698560 146357284 200944086 277283531 678479614 557827279 568759174 408005418 915974853 721932937 383109095 806026752 110834097 869605802 408009851 666501914 228681649 819973358 829275382 244120525 252771406 908309363 952807271 760629737 642520476 508812991 217071514 478606769 823016183 874018978 429100635 491725386 133833900 221487906 759405368 437410107 128108341 137374334 800849144 601166386 426963071 328618060 829754232 134390370 933973778 953827031 947312927 233259484 938810934 270180189 180042908 294476127 219555084 757299027 334173180 216684678 253744822 422771536 312802244 991630169 573348394 634563665 638717019 481057511 375691999 365488501 496549202 330039343 254199674 225143854 958618207 809222813 536408674 227954491 926668491 145326874 712696369 225858226 208740608 464905537 308831787 687927533 724467527 871250248 119509938 168969821 764444604 502389264 274547766 763894325 793684228 454640717 262090758 333618874 786612541 658589935 243932999 960187433 881098790 674839184 861751529 332696491 978188482 120100845 214763971 230512533 344283141 118985669 353269262 988076711 233913906 673230454 252870362 743689024 904760513 471750201 185421396 350536670 921409812 215425234 790622417 105246782 123457353 711894873 872142996 145274015 848253326 615985484 165840356 227822600 713151577 254151472 177058397 428732016 407079156 769309415 434812043 683186628 849137162 381231890 757343627 546925880 927940547 878461878 160484517 126098074 623176902 934425529 966196079 888713059 163787487 987855498 615696014 702607378 783911720 380313543 778327606 144890507 512506555 658049939 256870318 269911921 434664593 457677127 985052728 269483820 390211647 550858959 762296781 593464116 459471746 157286577 284928306 581707292 547718415 129138436 462876630 294127345 379400607 419343240 673555091 748020643 325031846 497227135 730742549 414165298 492987715 417983206 449257759 349289733 130997016 839772334 596692972 567217080 756536973 357105688 851673121 458403603 555241435 728404590 447531027 284813494 796293898 615004929 414384750 395073178 867982357 351705361 333484171 262792827 887601687 873590402 934361302 998389064 122837169 290924067 281838901 447911736 930339400 541557117 393449392 966532054 251592705 838441819 950375278 984587613 283467176 551149892 150691407 735468472 826481292 743509788 291966138 385275329 380435166 837544242 472450139 755030967 761919887 368863677 176324204 395667044 740187560 867934911 983055907 335220419 557626234 647247739 254633851 757277091 680248737 711379079 943713281 748924689 900335313 615546731 279723142 996437601 649898380 389875560 188458529 443477741 763736172 141061967 195231985 585605027 202266173 440652892 735319708 262058447 647813391 792127147 825758234 854905284 753477141 458021092 584138857 753486009 724333038 298666720 117193824 154019528 589386070 117163876 504092866 447806016 925816966 224946141 438852017 534229101 845701415 316981660 591573003 216157468 272296801 188804150 519428317 893361014 414825706 408485302 119134441 999371844 522737438 431685436 249208593 411234607 289289026 594941713 930840685 263484332 734574876 814929590 273892174 417857241 900385177 261918487 441944061 134832669 865186867 797554784 711518232 999605243 143157807 692927639 506014378 896408356 521671168 127986134 468639209 640271538 314426391 597416813 908981452 577056138 366184792 840113868 813972529 981536979 166489732 529549262 838886584 685517558 474931999 247271092 837348117 805427364 197636965 890261862 935698799 290790238 299419173 788772698 252056041 430801925 421916493 505115868 415080006 504306889 447037217 915682026 975732948 922327785 642646641 404709922 623392407 988191577 302856913 775362819 141468233 946625501 521264160 753296268 830419508 791638793 801578466 663054665 116441903 766153501 957864015 504920081 522376694 740498597 438247916 273584978 399402143 136737474 686637660 977023918 101665518 171177594 517575193 358065086 674188742 102943691 834838719 560739221 584054473 657667299 842721490 919608702 594251822 379111529 761779511 363288491 520076515 367754617 392049188 615214203 179291408 601603793 705253455 772160781 339866993 951715451 170052772 786581025 642891491 522713787 757446741 858982402 786781328 174643410 563909606 126359167 389480423 210409716 924398880 178674486 327980803 143197958 749185047 277544384 729437640 713885679 112531903 683021839 897287852 849890749 566514230 969109359 447125731 175123170 137971029 253037032 882227463 696729739 305706583 958241173 499052007 463287746 263994108 418002143 572428498 548736960 930140892 655189373 564783056 838674964 575351582 983513969 117932038 360930035 368358826 224700192 914010132 152023948 734507561 464288527 999256018 983262724 161677540 495229485 817726349 982836235 940654627 897553793 791988647 652090903 182341026 220353731 722345368 360923143 744771920 429278252 124683394 124709863 724549559 783392258 584553741 348730596 419293057 504030006 345624448 848474976 674722878 978193096 501550964 278464467 410239985 597022865 225352469 504661662 966046309 236382675 366988457 623744072 771869224 715070392 885184450 222174186 442073696 818340624 651738034 944375037 996982503 434197018 558836076 187264115 926682874 528682847 633565827 140675611 558782837 170780333 842600329 762974276 586396882 673764069 133555832 473700848 330598919 537573513 725222234 989081848 971698011 804606684 841816463 716470405 643926996 694456249 589776493 381593880 960909885 760865738 434261971 681697886 803773262 627256174 283316339 235941121 204309942 664519523 135560404 892330063 610145769 369271934 638069695 973602647 686466420 444591845 652216268 565584825 196569668 265844493 498531382 157718928 480079747 327877726 133767269 237161305 621233399 235711586 200576177 961915647 280273925 851465679 241317367 979356157 617477292 169503644 795723251 697161765 354634293 318454689 471669453 273563352 327443263 750038604 258512711 526682321 932395361 768959741 652512425 411549586 775396910 984097437 351950177 279231062 376660645 537305393 968016127 871532363 807894505 536795551 702498859 855287997 896752369 935126261 855801836 244456468 189880140 776937709 554192933 976653097 670096145 238485343 426755067 982906611 341345665 224820996 404925982 659519615 231985696 643210987 839186203 686467100 746932167 710147270 771835639 627759429 477064917 354928836 141044718 884167216 738275863 958197691 159988631 193090040 614482396 671377484 714025564 714503342 541564856 561110141 145986358 398652789 934595387 338698976 860160534 244127829 802508106 116878427 705129756 751147348 286162159 683672278 947812055 247395639 616761429 448623244 326957967 758953770 992761919 242129915 955627628 357744774 516937766 369055515 741896524 168868081 337272681 159536636 954435583 202532376 770468525 305182764 534796652 461090346 427321949 603230786 373006130 643570477 894076774 604940467 354582694 474943162 814532909 623669577 722726662 742393667 720290104 788471095 331843922 449064626 696603806 619249657 275619398 711561780 643696847 482255958 853821980 841043841 170215820 559475335 128132107 440861053 811466669 856759041 426582380 492544710 125491390 769516221 444437468 864335284 404534783 736288937 598535927 957536011 457463584 189462403 519071987 285781665 349865698 143568917 984005973 286039574 312576069 465154210 840460772 321831751 586135277 780072699 467297526 470599775 349415840 258326852 553828068 504888518 223319058 291973846 482848443 532661072 670668120 199674258 955106811 239542695 987503674 391189737 341449012 467002834 174096767 230210399 214474001 736211390 348348463 826967157 449417361 573314442 303367387 406206159 960953642 195539902 898427090 374780566 636305896 655508083 135813404 325800510 508960851 758425778 148980338 150210746 884101679 123611204 348992458 122672556 466060771 503890986 917490302 480150482 775264097 150541150 221640177 664437605 547517260 599568419 990113970 329487952 795434783 384954346 958218799 442994879 560931690 896977362 918284702 756801383 706960601 842903076 862765963 944412864 230018269 994871805 725808023 212464174 110180992 568001758 993082228 830148041 877522654 836127057 358650694 782739892 808226476 174195375 472691240 834059499 401505566 499631012 765760891 206785059 103016381 901919357 919652163 303629993 700576573 884088933 929976541 978203721 610062070 824728417 393818272 773664955 747043323 302746619 107889649 505887888 411877013 654460487 681387072 576309528 508883216 583063324 596099629 698725328 808229445 955846102 147230052 525234836 183647110 966600767 361911023 551707936 836120572 766479302 279805355 236345827 280481903 447251431 708568794 102750102 983221327 146778140 802856480 112570089 682757606 648331628 430507498 970512339 953278748 241533807 558220030 253976892 721904645 967922623 357379254 201640904 423148835 140991107 917223512 651485878 890164203 413243077 626889303 728656884 821726935 900626788 197122746 157035936 616122257 378294874 667396024 522347525 787753939 190448324 489239292 880032283 919362669 485394018 274728268 619978646 165917428 310337938 798232294 402270905 314606894 228726983 673238696 596482265 488510015 838112322 331207888 522222289 364244502 993526318 113016670 267280535 788966732 801956230 676389708 445687703 787660423 180187634 831019267 816433849 958344931 384433131 930787667 556417476 358782161 996362865 283020611 470649325 419031228 803189506 427647340 632253258 818482386 810341859 844469108 576406041 219527529 897111856 989422936 819626104 168838491 397036399 360043233 560776307 545735102 592345185 619925821 531523507 888427138 730199189 195893412 738581467 443626374 313640876 626080370 957796211 821660291 973714009 569588076 713233406 785775371 181638791 207663969 133037008 675006031 232334912 888688222 553260228 923455407 308624278 586623936 686580222 686873223 533882562 676222912 227013943 609236065 407974953 163051241 710768723 874002106 885001463 628461417 903702259 238743317 278562135 991634984 555383157 505325785 496447180 803412707 299634636 299114960 606187739 615079363 516831207 887483496 330244268 348262795 982508013 512483870 165076337 117484123 494690517 721591018 971850780 131085779 342890668 138403403 134493166 866367300 638726951 488185217 418595973 910374159 104220779 743407198 471988702 453804318 593971098 498614703 230498647 129479128 390139291 724547695 828449090 736483775 154898197 699462581 602480743 863880721 691856782 814986580 454517627 516652216 490650611 268046863 661166956 867435193 527586407 978440724 592351090 433747054 636756367 599634460 379743109 914076126 392595899 671953245 343863303 244378025 568354274 927490787 791600116 844407756 367428771 553325999 189792669 106621066 387341842 590772796 464039193 415801072 277088763 614783443 458533290 194001687 467395333 168878967 313491390 253132232 489639379 149051027 137463480 425195620 675382604 426734079 195386549 605009089 701700975 373787247 598478790 180512237 871609220 441950217 711188644 868454855 755427895 382113813 629904701 509240127 446998563 740489215 364307559 204737118 611285439 972425840 432079628 906885401 912843181 509866631 879109401 690715149 401338467 788151051 339988650 517856913 415400994 530418007 234317810 735804101 798728630 927618602 744257152 824653323 340496130 160816235 805123979 236692773 963585802 194142446 865553163 898733263 455706828 133386869 983417573 534992059 474784076 282688910 490981984 192630365 539862886 445055657 606044865 238161823 720984660 144784142 273343519 894059827 827044135 308016038 381507478 661627067 898958829 897862268 166511410 729587967 457242758 648605920 910505289 538812899 469669565 314906387 577114909 438594264 738105340 660888082 902381735 998473385 978774033 354769389 985535084 238891014 163033435 618305493 516901446 116231022 740119030 846141406 747617244 126762293 119439326 423683917 760305522 411961719 449133673 221184089 847754608 849896577 136786847 401833658 886585598 449464488 880722611 175466511 754767090 376559858 379120754 364746666 255252705 902019923 479329438 215144327 335672981 684745148 642506202 380627416 467249897 829951096 495369360 933391286 229231410 248946525 283038322 346440817 288121601 580719583 414061080 302438184 835079588 745915961 357276376 935494445 844554962 247477904 312726976 357254753 375675089 619499291 723493470 703492540 243451606 873448395 580048943 634265860 205395129 451888605 239808397 344305611 339845603 780267703 114098728 383056923 323200850 542239047 460162154 454233325 459566262 656935557 198771354 616659785 592565603 997570420 136044017 178706547 765930710 671439044 798856962 628312408 691370834 498839769 371149331 845716773 620501338 416798524 310510030 790261329 875066643 977130022 621094147 604541828 140245700 256062490 272372239 645123934 959421608 619403216 640557123 610333237 716026810 602057949 557629378 905828365 341216357 887754701 888402282 718178613 671122392 693169306 463759282 476826825 780403925 135041218 173693557 167538177 187327112 710691857 867967884 729377113 180642835 232317526 975241799 517537446 118944679 243423138 488277667 995439745 228434818 420746479 831867561 807735268 501267283 851650355 144309755 248663369 787682966 703345153 972219156 936868517 925378923 621348915 531357823 133374658 629961006 207228712 945706299 576156677 925836966 865855060 409804756 685487437 883214973 954178473 179974674 429925361 520871399 683635635 398919958 242422558 187119278 341602500 556017543 484713449 616731924 470550015 359790266 361316983 334355148 627921867 649467769 122947747 543408209 742046120 658844690 621934362 304440749 616564165 817699431 358373204 606665384 764942971 201087269 206789137 262114705 137081738 590488369 817316611 566814126 146776467 424648692 497690166 261881384 788781518 336782634 765289199 767007673 456471052 231320702 481442268 722832918 455599760 223391638 441411021 906215440 231679701 235998938 993020585 151411040 775183868 610703244 240297254 130818386 858843671 951484440 319124957 992247045 935336233 779582224 349786944 260655030 911737091 848330770 749818144 515189100 173172913 707340078 290334739 141915201 473130625 225115298 713077238 149399876 913919540 262070859 124811190 156383530 603307111 313696025 862253568 860567435 860330489 635343348 919566098 422767919 365414135 725317820 583700282 436369069 568396298 837554608 679647472 425850249 723991759 325797471 636071733 697985921 417348380 258681941 290615096 961145686 651097662 892470298 509609929 892670551 995531433 551888032 966202255 293954851 645199416 879964353 435706312 737493246 954066590 969459216 732740069 354621125 727003534 362178850 227832501 541450674 378968903 926229959 196040094 211139853 850386394 397214759 455045297 137181398 649367050 652646909 527131217 639352350 743427527 921515488 405044251 707308833 997386828 570318472 224246158 952783397 361747331 779631857 512895615 323836230 703542403 887449398 141877998 313602302 529768615 371431970 128657016 205340840 628879861 374647072 149937961 223896560 965622768 325071560 966212770 186862540 612280023 311420819 848714440 706349929 910963732 974468909 258981582 714866958 348913825 901412661 662974709 562290614 284395441 764770119 439570970 102512105 231338818 768535213 422412736 731703775 734032609 940488366 347706750 672025310 975033664 170692800 791741414 695125141 569440724 220298795 561479717 395304111 613744182 625086855 915692088 864418989 779973460 473514290 300329714 128525933 291121151 579870105 946481554 526095770 533227452 633368724 299913956 696126394 913111481 490804944 182300519 234516918 734311167 428106525 213891918 912565269 290892139 257893400 328376055 333767693 840905261 395328353 267111473 185173718 841761986 981082982 633798307 303123281 297180963 872082152 743568099 818698908 518768763 715484137 391504032 589630215 863478777 697155689 448370576 186549826 208890332 395286215 382847268 899599382 543551173 688966665 214265063 746344283 529991185 647251124 193462633 864161822 691266606 592966638 201666970 926400551 672032765 866746859 158911376 712422748 582719777 844656889 802986776 353318615 570263416 627876587 587251270 861407096 355416679 266015089 672757462 697039501 994980445 607154579 531491850 158010883 702380698 515818479 742498100 749171376 300124191 546986342 312202334 986204341 345788521 790606359 301610522 255539063 172047710 945969011 237898611 882742154 253068505 551123802 819842759 307255229 772206951 869041227 184040709 246509729 472919125 562027084 613750602 211088058 629387452 887362796 235206307 741789290 514500620 164781795 550488743 670598324 252094379 395231200 863759436 711606902 784165285 717832096 138535091 244708077 822813055 133919179 944752490 346378982 376281232 182285384 537440362 926941625 981996633 165012512 998055513 234910549 883523751 553010074 760089156 770369195 962761827 174805978 239399233 969662054 905158604 310314258 824378780 406444373 118597208 256920462 808539960 452354586 969645220 853321192 822265553 811337942 391124797 930261844 268353948 999703754 172414782 401045654 284096271 925895659 918378382 459365585 616226914 158221660 984110808 198380994 340999284 132745443 842982915 668972857 758430641 275494521 911972577 796124421 462149767 991199900 262262149 225840024 164946220 228666639 182136773 946656304 627421145 101382026 291625611 992303178 813307489 358463489 529700026 242936834 337328730 666821246 312632624 102557074 254073224 623380224 902722650 716025074 213610732 339668035 252092475 782525729 365668153 377700692 265913224 169559704 466640791 528764926 818087898 719516911 244442699 376859667 873221828 239286768 962016010 592129825 904822839 469409135 206732242 561430584 332410874 349516468 676276961 912463007 316995841 349304997 358680826 456579076 798257421 897134151 309637392 627965084 903468333 344908290 406625557 599205496 668132407 298016757 321619637 335628769 747619926 886372550 696812290 818526600 314808796 100713049 745174454 952156259 794954087 367190052 386277145 339225014 599544095 289473818 341207036 663992346 393453065 694049667 569619659 845116174 291758553 795208120 738717739 291482505 389272216 956128148 811051186 430620282 910481091 225837938 554576862 191711952 124401884 647908001 818157272 220350988 100266036 279993752 531540170 405353007 385742701 775406124 936382016 334263881 945262257 426529712 659143743 484320882 657837279 852409739 814990150 368505281 482032305 802111477 432340874 850609680 548530231 530598878 656842448 169232873 890742705 763557280 447299693 145240408 499842587 189511923 525248744 109406076 850435593 247788507 829325240 418419043 439104763 737112659 633653382 183578686 511715103 292870881 193383096 847278176 552698064 487403424 373441763 144631884 805930960 206052785 951870269 379417645 775798930 417272978 267063520 256570612 599402009 240589980 676911251 267417546 764606933 232537278 285936620 220525997 753925213 783919670 581281700 422252610 631730283 701801158 795945493 866206613 551614181 389524250 482221477 501735203 834040350 978461442 327203749 861213286 739697955 803319077 707655668 208135532 714481383 855827532 202476740 258477812 755835008 721543283 344341715 809626390 176077955 356131275 583084250 175649647 957575072 872119977 536630442 961835111 629483725 362347462 853249082 178696891 207551157 599049367 212528624 466425877 371734290 193391494 606727372 646768658 311955856 695790755 503111518 197207147 826711479 425513508 255905270 343012535 184186682 770173936 360312523 279435034 432989142 748732346 718235476 565218286 203717936 575949436 135962425 948645060 892701551 810907354 599150073 173162907 138386922 668436885 262406411 501857739 498647372 413576746 351404388 816074193 809258473 273582808 631697181 599433681 514211223 201368865 599398050 136463563 683309959 712994298 406281983 172984645 182683586 986883906 917390315 240339344 623300904 851772457 539253604 951629370 129214726 778941187 286155649 546783622 885749972 289227059 994443785 859390207 633562804 452858696 301504513 201498239 643058215 149412692 726476971 303008316 580387816 466536840 167324491 695865065 425528795 935803742 149622150 588978395 956210869 694895389 603273206 158129341 871244214 766937265 846543482 239901289 903199078 845392793 198010024 632937280 820206945 641249624 743365146 315161794 851168696 585490169 893396619 524922038 427617489 187738479 939624554 207653995 503895719 994567808 294676570 395182391 832712927 136403612 209946549 203331977 791510062 295737943 340267298 601418918 997852761 486763757 423572357 704733664 461831692 256655347 314098030 857752066 931821488 310348929 205831967 330436333 417419551 601350217 491819933 704637547 791643699 487973930 465993713 942045589 184909374 491108098 589272371 297477340 876664969 873833402 362220779 144003941 631276803 871431706 424535338 576800521 592239469 129154443 899574531 121661472 529347921 460640046 999137206 588600460 706493606 254255510 707134621 486256424 845629876 939001879 452908136 672911962 553446119 505839417 695557854 562456185 224444211 924672214 930899587 165154424 806724805 531600016 305467921 916799021 408162819 265193797 337816814 839715550 867831363 813221988 594118104 576305242 228737134 159692738 393570649 728633367 378213083 219862331 270037430 674434803 482135326 238628890 299099905 817487755 104652831 323435092 639258953 451151492 319853389 251708994 159066075 967704507 159396384 226203392 931753253 437182280 192243850 350688453 660057367 150339012 146404006 641818203 597422376 440845479 126952536 859832795 832352297 780821495 605748238 506818154 683848178 566710524 873654291 240868058 450764211 394463891 763712250 836887377 555457797 478604600 451559194 869406023 656596342 566438117 451172044 644753325 610813502 889033215 891766196 683399050 562364537 529589157 328040556 222997210 124362038 935900768 344163814 310051507 221344717 964898509 590773444 866574319 347650733 881303010 183971018 206096397 701138290 229462138 376609532 222869321 268472035 201540992 689341436 166368232 431623152 276485818 674541076 698861524 367527588 600274371 981586870 824134957 270789986 227078393 332249507 382812739 679237557 303870849 251294897 582196105 978236069 658993381 237181570 419059709 893631282 167992090 243067726 558629942 957990922 872770797 994051750 208870776 577550605 172825365 398473444 210301870 208494918 546848216 983026822 771974457 891736855 991111144 787996296 932666083 218197849 898456318 777540272 772786224 204020416 697180825 773517662 164524885 365123421 526190072 990068569 617224806 262508054 968813620 956873655 106737121 848030429 864456333 440740868 361750944 916122343 559986873 460005522 663813543 962472084 346833635 376403592 183680223 454497579 650109282 486612808 897465000 792123105 300802378 363251487 680425918 348505619 880717423 910198711 422186625 988719150 781018653 392390888 454853793 387698960 230680733 382286954 104313378 277972548 579092286 296111719 324358980 218131062 369101012 296206059 638345118 984367892 480610857 760121329 863030669 455131018 463783753 586002788 354854431 449132775 468488988 468154360 605673007 153059655 708805222 327978271 378432104 299606652 432692500 116539675 688469260 126936829 500205372 972224765 327456896 227680458 503214510 557746552 222637992 420300352 274582836 607943955 608869707 476363518 152313399 479369707 827220147 738202149 545004194 898033941 232744433 402120242 341901800 331455251 364010337 144762266 345872395 339252741 957617704 684337552 670527691 938473992 592340044 595284240 505674389 128612903 796230950 957352756 242443441 759719649 742157909 790485167 525593034 923015086 572033549 677966555 313543029 114557482 140158916 448733773 285890572 587845860 601178695 648661504 740171468 482420999 661805459 495717108 210476165 196356650 248941123 554971397 477809681 736721082 337047775 724289986 774002755 566741057 176852070 313106579 788147681 401885981 728706867 662510572 436295708 623010421 487218092 830050500 881977100 616102831 262435541 809649826 770250170 189470249 998219080 672681384 309675357 452026647 155604869 164936786 846744530 267767020 955303412 415183596 955096680 817662405 180970871 269391461 160282243 328340197 358839624 311657073 700505793 280668928 902708071 812195393 229871096 238184052 879671485 793779684 646986378 400738420 917677517 142486748 444747342 370173381 526235190 602978611 845616494 455285536 201487800 686123538 702527604 802815305 714028499 254488425 220989049 920015495 283631144 912885621 476102100 724282413 845182333 351659449 444147908 672605659 137402149 571234396 199680166 804168159 856335052 329020652 804166236 300673641 702601402 542935436 403422445 253863544 794089598 481619289 535841964 878459724 941901681 793630412 277155710 347427183 905768330 964746110 886962333 394277241 776320730 509314832 137649169 381307900 127209660 434165794 307272201 965861087 960067257 324178505 250999141 416130475 712904436 233846816 170992460 808647374 804526254 820480895 490637236 395848320 913399977 839461461 352629877 727264184 904239942 735854389 220170445 562337567 514004164 533560103 140284006 249944589 337842051 857039026 469968088 873933137 366172821 683583663 683029776 639566266 372042476 289743040 740850704 547505783 138764919 450391572 827964542 321708114 887740122 999556617 354571820 338815964 345784470 778543638 393376420 388564280 986474931 758935042 447683955 903529375 195968238 278636815 452972400 719033966 259276314 802910992 447750515 832396105 188319056 935182111 639417115 981337292 483696991 549985038 317737674 125109936 965139968 203626720 669939342 521944588 229287579 675108092 900192368 213581952 781271186 184040886 358010923 170792738 717053428 180989053 187983774 471470513 398707414 148593286 922074100 792410843 612035734 916979875 400321552 143165656 729242827 291728141 856469652 292226127 221256723 507927850 118557513 225739664 122354489 133204852 762721908 995828570 473515949 305161668 169490996 284179222 334390745 100418090 767650720 876438773 862938595 294836642 531264333 456673091 370338570 979349101 489890842 154315466 987396429 183969702 866800869 104935630 586320745 264074346 332208913 851911565 270314391 439246980 737706532 798581832 238759354 957750712 473918898 469579063 278753977 202864206 756846843 354463151 630749840 567446506 529573113 180171196 323254550 316246814 466269442 513744545 202478355 317819419 595048570 872472825 223086421 838824280 261553692 886118032 674330735 139861617 312048858 781387539 969836215 301845783 931781619 302146968 432120554 977709891 607020889 358773423 983448006 773996915 649353672 892245236 303473185 345581057 911302093 707086485 863694414 328128013 844395691 194126921 531782561 825978955 604790591 702072724 883905928 269453695 982056694 483591661 306503829 321729104 777366709 789924603 777803658 975475043 553804889 861558084 151559902 248879879 404714567 653689230 559829572 271408362 193710600 776985466 207318295 389960361 128088817 613110085 394241042 707439982 961701372 941104556 303332435 651850230 225336072 228584530 619337330 122809190 730157671 574713698 229286262 332071610 562466185 542441559 703203616 182199803 805974306 191112315 470845555 499253824 690375426 923970428 950204738 459692714 972604387 396007947 764341466 754450634 596418604 907912111 128810668 969833306 917905113 181455966 241528908 764212699 270227890 763950016 649547581 578536484 375750125 524538687 464986327 691583281 537289897 646002368 505319726 961696806 801429559 592280299 737743103 668425687 160488822 579908727 763261039 645562255 503420425 815078625 352400110 244689151 580780849 647275428 612951324 975183253 273680148 670062387 854189472 627797989 250111390 226627916 807550650 177559160 898989499 864196216 801591493 398402567 681842729 450460509 658772811 512201560 930898254 687158956 113803030 770554097 350579977 701923885 541378784 783613028 713799315 903714088 749715670 960211128 429422868 708716123 935814421 320322837 832061977 430406839 439497087 347715041 569421763 480802963 897668691 216688552 694678318 170191844 926452904 807858466 766526540 991240915 151609634 245702366 793539298 418749063 579143663 474101246 388099598 820119206 245670043 139271290 853544619 724687573 517517528 477661998 240048094 514873566 233039024 799210225 222108735 556920157 402063846 979946370 274277114 523840826 329907276 109304742 145404911 600522266 521960942 210412927 503678195 259339178 163063790 377734584 158107500 809222178 151282062 550801679 601370068 966924518 252759956 381362390 822130534 945442204 987245267 785890732 640138059 884693569 628570292 331716482 822194543 297742574 411132180 878051395 603422569 961075519 257936323 357934248 696558033 278659540 520186280 652117661 340724208 459927848 414071885 408087597 244572931 320285939 405840827 355051790 116285545 850892733 985945824 746636609 871647303 205088472 675766514 223518342 967022485 254540252 966636932 175744086 793270736 215982350 724326251 516859468 339676152 985953434 320776226 305591842 482170345 511059947 724445219 648611226 656286909 857640990 727181781 211801636 329099997 642472974 656597221 541479801 469088301 979119137 153864107 236168186 111523025 978145416 143109188 102386388 524939084 116559274 834165036 833882988 523115759 982570215 511350440 666337602 287516334 110629433 796702636 939003385 415757402 539327948 476007010 748215187 731628866 596398701 878548681 820700472 183404287 602003132 416523698 234996072 576380755 764742382 249452418 602389687 516052886 569079325 940630114 724922590 201535170 919209969 753596941 469458761 501382606 360725308 694839710 545829149 434665396 735219752 103845199 374450364 285238650 185266268 407058008 516461193 502944573 252379414 935057515 733316515 480934201 264766250 761913181 838325098 921535704 524926469 352938660 148245540 377968149 862049866 125731071 120032429 169118765 204902343 391409488 694537739 540264557 915110312 444166617 465823914 677349024 339338962 820343278 264822885 247983391 440269674 687627555 953443861 899155301 534539302 181881707 554160988 172981283 208359696 711649061 665624299 308784509 945345557 752934704 776143438 336921949 242613179 159628274 112792710 479826819 852791732 679926581 826308883 373979923 880473028 738423361 954655614 224895868 998548626 912109075 264983975 561409640 281658694 404918231 799304405 969287150 498049140 533993136 906026709 696064413 309770448 224702708 935644125 865928018 582849247 387409013 746873633 308997812 181970727 287565694 818080636 716477174 932240157 634799798 139034237 489475777 433095375 562130153 189380841 308319624 298779607 822338217 754270095 499363477 607063006 294307893 735659683 711403041 842812861 988158205 323514989 849242692 391423368 482435326 113887734 960441258 902029334 150031586 169270901 845840587 546229296 767606505 493966678 281977839 221649996 517908340 643692985 898748300 237025943 159731241 116340751 399667308 145469821 311715978 613123423 806302062 699180887 639259653 401976962 192669872 245932190 386398904 847862615 936701165 110065837 584992397 687164796 753337179 335999407 854031941 911362293 233519818 915950861 780316433 928409595 548976397 669236245 330779170 101948417 627383479 186435797 590592716 781591135 671377324 509707330 943621388 812641596 684679287 709009785 133345888 390767694 237103619 897455012 724174412 949185092 281118392 808574979 232779811 528259679 149397243 181497367 231133657 232767929 281928998 918297941 462560479 244977236 203526006 239401410 714716773 366633392 384122943 607659723 590432602 255770573 606288554 133537933 980518976 210614594 800281606 280693503 297534542 675607098 408506172 570823472 564994964 387931399 169006688 297154554 733749455 147555279 521565148 307337094 500893966 374892198 782140082 531036444 835415743 415054505 725756789 384398915 596928062 155006739 341617436 225612511 525592431 739716383 661304898 647391921 756065604 825527469 614880637 965353286 934902233 391579200 397007876 774069885 588560349 463914797 929576969 507797207 822481982 692248569 315810975 349161561 805692979 474296784 754338501 755014753 963580579 227985799 994383229 321630479 327881954 599753034 768862328 263452514 794002774 459064443 157999764 130823512 378014819 589204199 547853996 805645900 895215782 388908862 951228393 921090556 470072759 428920391 577701298 804574557 878264057 225892475 197656598 539549866 184280254 700187091 747440216 567390590 478980944 585807163 994539949 796069829 806854548 478801346 447906282 294725534 970115625 677275540 477302590 837348004 519351457 735935985 458061928 607332206 525715684 736669002 359437131 520448326 969462680 115156212 880434134 743957867 944620019 230266458 919810029 412486358 842441895 375572499 645141034 435197498 578163037 627645463 690092011 418024645 540245256 363193670 808287621 162333487 121416949 647595844 684606052 377967065 107999221 624103128 234084998 766851422 546211941 403477516 608779009 146197515 661100889 251413595 253854770 927648002 292334093 493880741 922570709 176107025 832405530 575217349 691146095 634068977 774239164 565161098 702377509 386778502 624105804 465931446 483278429 828023262 113025349 118672853 329457869 433285446 241217475 467189001 454068528 987879297 462637724 365134158 470364527 526758516 972248367 601134780 670576485 137006322 150572013 266551658 759201343 429135400 916097029 946352308 660716464 704821150 658979351 687542573 691480216 362855540 357089918 419690832 533429775 944060163 519521293 790445523 982312823 504462341 991232679 323581673 436801685 867016692 302986599 316339429 310025177 278889759 755407645 277470220 185781655 561824161 438182445 440118662 330459087 889913956 917004261 710554996 448668808 607477924 521008159 504736434 107430948 185050305 378791014 291166506 730357041 201514206 909065547 399180474 471454364 796611734 951355945 653200307 970539941 671189149 456478629 851167060 637348830 372125003 499231491 442564424 532287811 177016238 493616048 894156807 673912692 321702870 849407395 840270043 378905465 258825886 811072268 183463823 822256197 620660232 226506367 932420835 130684289 603136122 102900471 586182059 911582581 203502832 933128461 587892180 519892850 230369031 175371704 612012720 369938205 206559774 838480907 391591276 960478318 840744997 948489429 940639074 732976415 224481614 295755612 496744395 432371012 112805563 861717183 730684650 107545590 663487711 714662192 428555272 698189910 884102423 106287356 647949011 829522696 830119015 751220811 312496400 502318570 616078156 460247748 860727311 109189193 583900757 207196327 190821651 304374725 108720660 907481884 154101837 697003150 444423356 283569466 921994902 432521864 756225259 980096060 211062696 980019264 597591306 965965379 471568052 576171590 608951882 434358146 934255038 909435684 835095736 141812301 279432231 485771948 162027996 327321317 236904860 949915766 279016965 906016267 511259594 890922323 581172754 868440915 350056245 545881029 100898075 146993231 953159472 194993062 918999166 411460883 784309691 148549664 143436210 114512214 399484697 103833017 269822085 660528580 198055557 457685368 825738258 918119755 560669628 315875524 270961838 903064993 566622462 488602741 963317074 701845455 497731905 681625167 753204851 835229743 336110253 617667770 879324315 911385000 383065846 278188315 457418102 404430062 290076478 240701154 614235074 601262270 213985559 441730459 252363930 513157247 141939161 239186188 102837234 479060813 519301374 769852636 143359543 197276925 733071778 857567494 192224437 947124590 699392974 737640324 227640198 852105226 474832982 909372812 617084904 507196971 348970319 388378643 316715560 387676382 807805609 943516554 340388226 294999763 431225764 398197448 323563362 771353444 539317996 441444566 866478091 519793137 162716168 102249865 361870680 110149325 371026576 951764167 419592076 550405287 131880294 547517337 939387198 574025509 982171982 458586714 308345482 399931980 819115784 952379477 290000623 708828491 741173616 896407167 732436611 203254969 503669736 431207209 988316689 244160421 943372064 356649940 466715045 752820803 430371968 533372867 335089984 446423401 303725172 647775195 602653502 893341638 111649451 711220738 362526081 303306133 206241438 284874363 856320655 709083935 458585094 219141116 721811921 373175380 491561832 447386854 593058905 317326064 572490537 672042827 928028292 945406682 838785271 117798079 748915924 413850194 173756628 692730628 397116044 301501289 519485324 309381616 458700219 500062602 434053485 485345327 533848675 524249834 129569594 235826015 259064751 906695530 332159800 339836226 781422437 624408930 377001398 508355415 595194636 509681800 875830785 961285568 984727173 745824319 740274904 570744129 191616247 822055007 530265675 134536194 580043117 416311559 126062485 775532618 769206836 300283672 845284525 813258791 697551719 773928546 955674178 280778432 923754496 758707706 519020699 232974149 674978980 901979323 203266392 494333175 247122907 609152168 646146976 412020487 185292774 468380558 921442324 887440570 607295901 912298239 346079646 475391991 230896129 714197120 663319383 939128283 549328489 114603116 342862179 945879669 340842888 992737051 979112714 604438501 926867336 891796598 698130757 440849381 552035105 312498406 909606399 629143513 867831001 530905006 334017420 816354727 650008829 899308696 509372805 623618374 691878033 144244380 596960258 677593445 665194218 703452784 874960590 276874826 292736526 988143620 888385221 302841949 563348780 869185712 913943652 308491086 299470414 771199131 817192389 294306483 711554810 418493918 365030614 529116101 944782199 991172105 899628128 337339480 736193788 369920904 860880949 947948819 374352906 532203725 662003214 549207658 669513841 746787113 900345036 277291367 623263281 446755344 545527135 753737600 176765731 203174567 509896773 160178179 302846431 606985912 970719482 335439497 153811891 456731246 802395613 989464324 571677740 972903665 339335260 807279603 371890779 253267283 588033005 227642698 573210868 758174201 464116316 992874309 606205125 824701380 718679353 606619843 172688524 950062175 640459861 295581846 384682622 599732746 145156466 407103516 168416173 618368098 674376785 887362137 758054122 609491840 959257590 501737580 899989379 392822334 904215926 421656426 504181340 712997893 681687517 251376870 134476263 250909700 544121679 880371375 466354126 595612229 910185238 581023095 978127520 996511964 545315272 923164565 746930681 122953368 804548661 371554997 775365225 366757843 587243244 246738378 803003796 220993615 936020609 923476559 461650646 954634579 801117683 378147931 565072487 707809030 629706746 577286825 553637666 998513020 552109304 307174980 897384530 564712237 324353279 334772980 907112690 262427714 726443159 260018618 719970334 966426161 892105533 250937416 873467523 151374486 292763488 742284677 843795675 742303261 592597533 744512725 807769476 242073977 956952599 183272008 512776883 511588907 724950290 830380289 305894573 934537751 311024987 541412681 616484472 277420176 200399758 588241469 847571287 711364305 235283101 652410270 552163502 705315619 451514958 494718559 101422631 224551848 722535693 913305503 306865097 517111499 887530502 615536202 704953357 511271196 867319338 806953646 321283550 776399705 166808998 257840689 652263279 178122446 377001919 888937621 324590016 187039020 785919615 767241570 515530744 908722362 137317337 456914501 971455681 554727353 770897997 897451541 155422567 442776276 571765796 715967103 437415902 952257833 413433632 210565111 839197275 119475143 783405221 725599707 880927481 625082020 370777980 372560869 361238044 906474281 253347735 184544340 520260863 775370600 528626905 574848576 924139779 188465628 309078417 193694860 995020126 704310445 527695655 851283592 571811217 175337208 439356043 142067279 331915185 544593194 545829516 657791643 265612429 128214586 195809841 140234601 527495782 700718186 325799199 661949611 875361542 688391124 245870841 525222659 302395852 246739705 400866197 405358883 468865228 297581690 632599342 773614217 164611994 134083929 720987596 254902250 156115727 369360286 540227853 778390761 918135161 260744386 467323944 956308122 316620653 541358498 766392109 868799087 304436976 932870618 790637727 763240992 818236784 307997500 287282279 226870761 409299653 442373485 876604301 556444967 815917757 609717740 946677941 706946468 939911851 745109512 837235968 405579582 468837277 423578354 888049717 502693107 131839227 137710129 275731838 129461603 842820268 829234230 604406127 902269413 932256250 478082778 838082429 915738559 384637100 807506356 341369242 185090303 758251239 283649561 387717311 763971264 832815128 653717453 525879494 868470770 861797866 665602024 759818261 258517521 343214488 873146004 128516625 142230365 392517354 320739801 444306665 182290497 786578284 582135380 821932389 592272814 643981818 688495214 471425618 520200828 670824875 193102373 718910917 290812099 101946897 987677988 262622022 808767042 541506886 643557436 103506211 801499930 811186595 587837420 205677943 618066364 101659338 452519435 801498242 443753704 489411331 797579062 545413387 449397563 103967984 548811871 498423713 999895758 660795442 829837996 482658808 902730278 712333583 815786713 500403435 905463131 237523056 582631308 623650372 693704804 621019577 764244747 272210587 682248415 708359862 513421830 411173676 823059375 936667603 712844934 992969260 315039584 822747429 997289484 209932149 266381594 675967764 810934370 326420424 344140827 810022981 174484067 100728004 750896650 965439343 327559978 254730240 989312670 227321436 309331452 681866373 354303307 156374442 777316035 512446485 464948132 909412186 762658326 967250056 724135719 700888655 850336013 694779894 303747252 135881752 388816316 976920499 564628811 202857488 933927973 303260681 756493923 564710223 484938961 721434564 622194095 175588095 729693020 836274602 913869098 531872864 454055607 294905116 222287232 221029739 399424161 673777377 850423419 581140353 378728585 634657344 297691923 378796221 246170394 857788802 367665262 114270378 273949691 330508552 212853062 897564691 672081778 128702133 883737353 575985336 987866375 233181969 734044374 936358643 256927459 759021828 275953633 997811146 779216289 679265524 931506892 889366929 905459655 539659459 561475141 158332234 576595092 241991900 482494250 444937914 242916056 923715509 273727237 247883021 214985564 962004321 278936452 274678819 525617829 298156778 891641570 675028045 640201570 958144668 703275971 498600383 791521099 799907060 132883008 355555860 358822252 444088867 619104545 853258881 661017226 572318374 426204403 526443595 286341401 101265308 266565256 934026592 584777616 454212851 573263671 192943360 735097319 145947477 165333768 807742749 344974969 454668840 956609782 558136860 680291597 912140732 578766657 295270458 364170593 379851546 128986294 294783137 921601658 748019663 260904130 679124208 466604620 340402003 637472798 544384175 352473487 748584164 335762942 808529074 389815384 837206461 521974246 898664853 647099773 842825751 149158253 212408597 806528718 696798856 315489783 339097400 495488594 351182814 897922086 375008797 678149711 283411118 412934938 873797878 333758207 491143138 557828847 580304165 310688860 968064171 890106014 201582064 155128325 492293135 301754703 360156314 364579322 941480153 603228528 206220868 601116006 898113538 212902724 681320208 109841558 877519957 836638848 885402426 360192734 950755411 292253450 372718533 924127573 100653868 890625693 768593806 531580005 895485137 397656994 932652747 166986701 946316757 677960727 358245595 230331798 646244357 136700915 182457395 513934737 766829887 699989396 408054442 332369145 879014701 550122109 264891280 949175845 840020011 226719368 529909611 369319634 685316573 623276356 415222992 891586467 287519179 654953747 624111381 698436753 888785529 290663573 185273901 969166234 768594665 472215606 486503867 228437087 376837431 876315252 868479547 816160800 105261254 489020543 122787933 703367585 645583121 707699885 655035042 299476104 495264510 527753017 629193257 625944152 487793751 448176210 148031623 791327825 580154182 363831775 835494949 194257258 382343093 299977309 743160863 876039726 685922408 977350807 833177156 148278148 305643668 719346731 948061118 500579140 161673422 907050969 890587462 432391660 827100419 921798925 418647153 724313463 276028191 154938365 448037667 640265066 386446147 786729065 252264970 472371639 692502595 204842625 281076552 158892731 848132200 624894327 693480378 719100837 569920822 673761123 900076039 980537413 217287488 129913812 887016125 119997342 647253724 359254881 886477502 856535942 245424956 296182619 792226518 812643935 478026405 292879320 660051386 959888233 954322569 340048618 364431666 134324960 515570481 745816625 843589977 800883732 554806631 729333806 959872521 841351357 267247412 187730546 297809460 625598575 524464020 335307557 687673739 234096476 304745418 427678709 135387264 690841051 312326120 537340001 309122920 430190483 163170756 962119096 887969261 795955652 173188691 529588994 418544374 149762912 895134174 549783936 383066831 846189905 119680150 145255057 401991983 972756475 868461499 228186978 540078910 462526729 365028848 550135437 203510357 493142574 818941257 560792725 670132931 798746344 472237924 913501758 929037399 206179006 278568782 658384832 448834822 338258447 281881844 261635011 116672774 755263803 315558499 533339081 904968993 573077031 388445315 148785249 977971951 217541876 816621807 697764185 774977972 926587430 458053260 274473898 355612939 988423391 664836595 612840544 249540514 279417131 999942685 680803003 502122863 665315794 260228495 563312883 244701495 521699654 603008458 953961356 249349271 525319781 381434343 110686480 990445329 228272824 470154560 940052322 236178164 704790247 951813788 633486154 514964357 765406895 304744146 680405530 603496605 704937897 303751068 462107103 196225199 721619340 552663820 317861979 759702692 126966606 313276284 140677250 273689088 290254388 149036330 762616716 769630161 892465129 722253949 126392548 833020707 779329793 120769156 742520037 466881149 687804632 564315357 802282031 792596763 205699411 701959386 489691388 353403907 773412443 780705724 569672759 902370597 142199537 643689042 231462594 457414797 611144876 212530106 331567850 724991471 161908115 404423935 849769840 887135242 498301577 380283741 256791875 500296157 210201311 682069941 910738956 198217258 861754170 437921659 213752411 406331261 290399776 317892143 245836778 407090239 511722268 543053210 163555370 261272816 539133873 920452425 283345900 166379109 940445295 169198658 448340753 186003428 151053089 346084571 611219898 902950378 931479234 597010158 579969132 691594438 424003628 520216671 169593749 301740794 847867271 132203989 950187012 165466512 396166677 784252859 697721512 762712715 624202892 606832939 675332713 524272534 555620540 210239533 866799443 171352037 573473749 515530715 730261017 677662067 495919474 716176495 436455326 243202542 270934673 529307363 918252650 607724767 452963826 952637112 779836293 776418284 189843449 765369993 793326018 697956675 226323820 715768026 274320705 427184055 372541649 448236875 735973998 949398039 249429396 352526226 649372589 953729896 119224017 935082779 716873202 104213017 140638055 485206421 583935735 132744153 736691801 982801472 874447266 125727361 573902279 896679237 822277948 381245494 452695732 335681191 140382689 260055590 348943040 129105118 877197901 826777489 329345806 272342383 983745933 131132905 570513166 949367093 590176441 607179176 882950798 277215271 216087302 246289323 363020758 132606873 478657904 889569518 898597217 815595166 719317501 324446859 615148748 658893677 228021634 732061647 535884639 882979792 878099952 394905686 679271120 641037974 227784130 477218109 532733411 275108001 101131631 481632983 123422987 806220275 276740732 790371663 471584056 909868706 478275494 929705415 544279751 246593185 206465466 384504099 563175763 443015056 677421266 400364256 806904401 845702443 694097559 943128785 320209484 243056979 136379634 206127467 543802167 512984152 537739350 895812314 536071260 301591976 686305163 342641421 832099684 601740515 773335716 854680970 708580081 919311149 466735750 927775687 479332155 457921937 434123417 901594565 263338119 494739873 557232390 655186844 111742063 500730259 672984714 366109012 268499255 788223168 151447921 517234142 701486203 495667261 179915144 758020419 263668818 867336965 999766475 416306509 138343999 263106701 563687492 377513055 466877055 842334664 363187401 220491942 405808586 136993439 304730863 196595495 675504666 297515630 314088969 871346422 485859380 124058818 649841677 621605881 366368139 297600140 902108278 818056722 182189105 162009506 471436609 774285078 890784491 746757390 546230752 563999430 302285717 329579646 809714718 158182492 988052587 157139917 570332362 368502463 356620380 510134367 201610013 354981746 322509839 284611756 271829880 703895711 420847037 904453342 947575127 666857978 390709301 733369156 467048457 896240589 573398468 968094694 550523488 134582256 813691441 559223129 444148708 963398712 869831925 958474779 535331331 241626457 519109429 479477938 217799580 459092677 606443952 132362419 237959986 814856798 422823611 969573905 712431192 967596508 100258617 818835394 377704532 141175881 155832518 601723905 903355955 624757989 545164815 143798268 105315318 694965670 620721509 388191494 621590993 908510537 432802399 718566776 206516650 328553393 512982079 610895362 979831825 461235950 418806413 291602685 723400825 108664427 399314279 854577020 401949151 333876240 687498931 525450340 620195080 248384479 971543139 874063597 966595204 504295739 650326184 590603292 916566687 755068525 926276344 539650209 599664051 346594924 333607680 356526818 573277037 819736738 452225224 402679096 597852788 880813954 729799745 770184330 777687779 157380712 329295668 913417844 408451495 603544227 349819929 657858554 578251997 339489729 613340192 684422058 811831543 181313379 172334699 165196920 434144427 774816775 274445257 193823322 577979715 118098311 944412235 950791783 927961144 852529682 482471102 447916041 900908386 831214471 122707649 531680643 384812220 847903556 600862490 491005116 139550377 497612459 235417384 521933030 918994873 454033585 229619882 592125045 177653730 464917929 366191719 978112107 751919980 719833253 767257413 922626285 920349258 917640214 776019505 636115811 164697388 650541004 865111648 561361602 116167598 145114115 195795860 558345244 529224448 939687783 144009273 970051400 979738279 441180346 598153039 134141393 702262721 692246451 974366544 846645415 351520055 501905856 185317841 942821355 573375454 148680909 512014675 799386681 467794210 436223996 186505091 776467275 376490972 271040978 411581578 646263811 409566660 114852456 857895561 511962867 865481614 469576411 260599616 216683385 552358245 391485305 438973433 642504492 359271771 662260538 685262942 382457531 971256662 202079234 250406117 444110108 707829371 372539345 866221303 831469490 568431724 321497299 722298911 776760408 325453001 686036016 577127932 944008156 835845336 129028882 758963883 265903453 274152476 247644093 795020554 606046321 314300449 411372690 684611441 909446562 550136891 981355502 596976634 963689547 271375895 898261645 824762411 518990772 563207125 463504096 373371489 777785045 216474660 114104378 486107812 680189578 941476898 442816472 896994516 507553800 773332677 177198865 262405137 699245673 243531593 803115779 319960504 274149584 151998825 554230706 411806627 953333540 920020856 553717458 742155623 210798079 823356394 857619269 834688254 879709670 758091089 480037788 852347711 270899985 604149148 114181797 955489215 897436732 229320502 358228058 356607286 340187264 306180405 125252603 667145289 392077531 764702677 200690394 587659026 432579966 205320312 995297306 309805593 805333959 496191200 543067757 135244694 679723220 923048829 984316150 232001274 428786952 895185962 720635853 529001276 599665655 755312561 294448582 851599452 344616739 169560676 195143501 216867658 320909761 385514768 580952678 169062044 413761456 484913267 174115896 677002491 902117771 346462511 294463420 603856102 580427286 803082107 717471223 751072045 164125900 187141519 375026596 392009027 765722875 667887271 995497280 277878619 971241321 634731720 126368183 349980186 757037310 337320210 973733440 879654582 528120176 655484398 618536715 515256430 378699471 948802817 708387059 106690869 192625404 657246494 396181044 457143366 600138916 786892477 341270049 164751648 405941708 497173155 479327916 296509654 512130558 486074666 701424235 933222121 284106046 328996107 209162483 390770976 274439563 956725490 547588679 679468271 880073095 928307738 388823189 864657152 755554839 698274308 720615751 375022507 940493622 594595228 524840402 421448566 530597743 307762464 164182836 157057448 269700198 640943382 898650478 126383604 516862871 388538846 515148174 333074079 405906275 613910373 379673076 813179337 438834097 875818929 302171157 813254434 326741519 823517671 485699775 721811942 687339383 161771220 196862290 182776923 545513933 320054825 437382807 348424324 409954465 201179906 508932009 210987568 390308516 812334220 389686622 635631946 193588291 857883714 981148884 727899854 915822557 607112659 357675957 521501996 900698120 676448489 649963971 458736073 755871658 948490545 635649423 864917983 746378400 517340804 743158867 411305031 631587034 909087444 887655847 924329373 867034552 898496374 347899759 865886197 869080940 489573626 932695582 297094318 557316601 691865914 899498994 451856232 766592766 453319751 451436326 422626813 269139452 798780964 783932732 182582350 611910540 858171034 683643304 698164690 505173962 691627064 937089622 446614501 948715646 401925934 691846176 813877962 291019069 994092541 994685100 359751071 724598984 686586551 593448164 764897295 565804899 913291701 340371093 170950000 299337606 419584754 410433670 492126094 699442727 372148059 559101993 312620286 116809534 943765224 844683421 321327866 757243938 832173720 747792097 891962702 168592515 590358222 945162644 184083383 226414003 869025588 428808704 562875130 315483875 585138409 188078355 947990911 593313107 936296343 896680712 633349761 876113813 346416347 889829175 739676567 271572908 432947581 418951704 419637519 823077862 966099375 139296399 192904130 810493806 635133551 426319079 875641382 268740609 572511593 496131943 740796485 624977934 795424387 465936571 835601521 328486475 866781527 640344696 167259538 585206746 150628550 955954078 138501058 314521085 341833903 288020619 799490519 692470220 791921033 703260250 624850402 645000927 168750314 103988703 671787008 467345120 310260451 885683160 807760925 761850171 550051895 854418880 433144583 439865635 884097883 226776173 884850601 648178143 438064544 405771316 398790104 818515682 159313024 240528002 756039381 615571983 476777549 211558678 974501873 575656731 283076777 624523216 248379161 402830971 677278301 952729700 386259800 198702721 951535468 456339015 729122425 373361685 901574137 925963416 147430629 793380106 156455836 435218178 487372221 439935894 344626226 454898589 697233903 989487664 781486324 916647453 436369525 312670752 118599228 459997048 293048255 911755637 994536119 135562188 140776465 324912221 877854699 654832933 541922608 198193421 405711665 585255729 785477748 519173795 618206619 780090379 244522894 458495219 181602900 337631750 678846665 225491700 443700086 423036595 277856586 226475009 819152597 860654700 993900739 631680325 647052486 820556110 570056567 916377069 675193945 461652719 421365110 845751440 122730100 658832547 136428473 220732706 875890939 958026857 605395304 992565455 245979559 216843608 840934195 286174536 612204672 281978501 126360949 104699415 269361016 983001468 468993163 829816090 284833600 944026414 540932893 726282919 918805514 731362320 421562018 402915569 686898201 253860725 803630813 462399797 104555532 896353829 411224884 869060014 157494934 423178341 565280419 649691068 157860749 139854609 720698638 462456643 823959454 373162472 701962745 855045058 864319344 773535467 139841254 636251646 762089157 340273376 532486695 692303763 967130245 707510682 190215838 604446632 804498430 898661931 627324630 450376072 392495716 150180943 950366063 941168298 128645101 725070229 621874667 718911665 683304233 200092543 311767532 406403437 656048122 399062490 735454735 594977461 967299148 539945712 567565332 328582597 950266153 174299724 983889174 219417010 179612168 430193916 286869229 242694022 599047224 542185086 438489311 112261295 936020295 247236331 143899275 489674909 953237707 919341731 752462095 281706233 974527028 155536112 598989211 821703862 651054780 620761705 725455691 230237460 207602510 866731237 767090821 774950245 595127519 852986305 400156360 684091447 101669582 368181116 792120080 620456302 952597496 455739586 120835488 532403718 589749122 945676217 245212901 261563429 899563912 856588914 897084579 435084492 313549287 276141787 776543949 226819298 891110155 159044507 872091429 640073888 463017805 455451537 574132196 291099361 463869540 159494891 182687637 931941546 804646870 418099729 340536270 871546384 341376492 723904512 989286764 445294891 442057626 170509354 991783385 463690322 282543394 805120663 101026238 587945749 847449040 606270200 993120888 266253570 664178346 460188763 466345654 617813827 978821263 816643065 493117059 676626535 549384729 889233658 632282320 736170445 460994238 894892233 234546005 243978356 988943377 519772265 824487240 384416203 105419377 789801397 927222276 788254368 455656357 627325472 465991138 167782481 409774248 396342448 238756192 906195611 927364620 505724908 189001860 879110796 766772656 581813662 800040302 500128607 172398909 344610282 957413387 819456447 394508353 637972223 431038793 337463946 981183514 895038464 618674559 574298602 895410595 448015448 129056756 181756635 704651928 953203389 347221274 836344303 825152398 833545708 683874203 854374981 374305226 726698540 507781401 725400351 822537471 561233172 728371662 247794633 655510405 926007810 760943385 361243175 359441722 902883652 811441306 464090820 990372867 781135352 815946370 720456524 912566685 242942667 631879741 714239768 434098052 364043700 393406294 473456189 179549751 672286972 138961193 256009310 608612667 869238204 266192535 296339590 630917860 193534512 136608860 212860789 254797132 778488874 161218093 378915516 650032763 754260145 743881046 559929267 726603802 763874166 945412919 779315934 375167156 877693758 974158166 588204847 915723469 660574772 134938624 652448210 670624204 407538029 342453710 517212632 686029912 153762958 590761349 888694605 737908378 457384180 748863354 200011022 583456657 533547530 864033700 985865757 952450792 902052383 975770724 665015614 388637043 301578032 716097088 590033939 884092677 675989872 940787699 840424617 253257368 581942755 202866630 149109869 440754724 151032466 601484056 773401586 315793723 410703313 390672453 568446254 427632039 265651472 868910404 990394650 239905096 265430004 346877486 502139541 191555905 918924731 950228656 242369301 921463255 595894185 827578461 580481523 190534169 729470807 847031345 212078581 338935426 191991406 897745146 533420515 748350772 650353915 765674079 171993198 555915106 268801975 355006548 913738099 523866070 742576266 840556262 587114402 939958065 561702370 226688021 611299452 926658452 773351272 742854452 518817694 199728932 455670132 335046514 551767918 968914437 453696463 262145879 134265538 973771322 614962943 198173811 827727703 467930969 414733914 896696499 969904273 490858990 152053019 908943475 705648781 513098076 762129548 977934062 489583205 967061269 400428368 234379837 343629231 766458638 956728453 652160149 501258638 296189128 960355475 136360529 251649410 795865234 618455552 270811937 904373946 231750500 639630500 530373837 883728882 650918211 409326007 526521676 185604014 651261985 807161242 128376093 306019513 823166440 751170461 212352269 250979001 300164970 121463316 628723712 129067720 480353016 187001094 577433289 595453079 960450032 137873144 828140427 102868193 784788584 912629921 404170837 347157150 561173417 152998137 358973194 642229148 599828556 285686919 255972635 128810537 333874585 959393928 550092727 188560195 167273041 333565783 178776095 968902217 837965318 151780313 116991457 694308650 993969500 774933645 858015243 868030892 797137711 830299409 378077962 587829142 507850036 375229490 512046318 895410220 312417779 676253572 211117442 179100953 906557821 155094091 328995177 808729005 213491702 990816189 474324773 789512506 193530483 115970648 875817845 465339099 116363990 471704008 682831264 915107833 556659360 667271627 775601595 900861859 432197597 241566285 390366740 297795740 269321748 399514673 916866722 280038872 543865609 312840067 762671109 136746963 820712034 269425998 942004552 735830070 479195551 219028083 878382463 692635908 984783492 207510718 715841676 605936046 497031676 213072412 833977384 479157571 245994598 314914248 972563910 760471890 431396953 703490954 612516135 816086954 625574898 958549713 242870540 415419618 305573664 320364369 143400238 293698785 511954509 554522798 918881801 134771334 753696575 391224313 492137564 497346564 717118488 696600554 200401481 371476917 339922735 445252103 523191414 180656373 834434220 405661030 628260851 125349099 597646331 176182939 784480626 228868218 539117655 201161044 701050570 301158117 580778860 832401984 394357929 541446266 351156237 301204119 816113455 724842390 588389444 244801354 884494759 574986982 454203399 178036178 297133205 307802508 581324371 633010929 945196000 275872456 101608826 303291232 432092994 839336687 767370358 751303333 891593815 459124293 707450452 867075812 249381446 533715938 887044502 192000166 656488853 241216281 243272932 177673149 215263678 797208424 777311874 871148849 822196820 170713987 329857698 657354673 628766321 707702681 507950687 279095573 854484763 288881944 664555373 745807757 828315652 119633899 419895464 800144039 651304413 120887897 753158640 268885174 119926821 214404179 345683769 255630571 490784981 515550762 789467663 697227618 865997956 311655948 837928224 847163549 147809964 142292568 484654741 992199147 377081054 577136516 881533417 308093523 223573729 575717892 686448951 998888464 593400158 619528097 972994943 428039810 114957444 854692462 671795529 245964590 225286492 422649916 871637969 951927836 191704251 630321087 454113789 202468473 554217419 950574220 473836006 629309012 655905349 109655903 752698785 200607971 267336047 469452389 312090258 577611825 414968501 881261298 484051686 646719680 858814494 450291284 711681275 604218019 126988998 426091565 498291404 702245812 996118402 558869384 266960499 440652621 112331566 127670843 362595446 662004570 125301098 645170986 366817464 543243871 274974063 184459515 497877926 855084518 323755220 908968768 674406408 933045869 353410733 879329647 508903295 284229288 647197697 496993780 209740461 492626535 544560087 904449844 403306912 709738023 817055779 278198991 880426792 507108059 583655896 168594277 512878629 375994734 520796812 597256802 670568060 420144041 296313400 225400244 235942146 353279755 812868047 855041131 859215839 523441450 775436286 576486319 522572876 720740172 307206748 437368892 677075795 780957775 162625496 108336200 734029650 173464226 901835789 904275312 409980623 219900230 292812876 366605284 137256986 483743587 803287434 732625173 604649408 555309011 616783245 222027129 181547889 684520755 572630311 105484511 459414520 836858953 558882856 287008695 637937199 474858325 876433915 151768148 377412036 605241315 594032207 147982678 981910686 195823787 406331323 677337995 674310836 413010998 991093941 653201212 796070268 401341235 770950101 816978438 721152863 557303991 526604946 260951521 778500172 508280514 569337982 573460344 335613593 865082599 467442846 172375419 809558057 895225275 166652787 704796163 325240039 954906954 223681436 115944624 248597257 929085707 242838250 928474322 630046375 622978764 753260639 260379043 942581463 913434725 256810044 112062424 819132686 772063470 775003060 805351492 385202099 761040189 894972329 492378904 664369110 849875775 224783778 211551194 745490535 196493586 515467643 217758715 770193332 553562843 858358742 746613909 472958735 654123063 552773475 685459587 277458908 348085951 996345423 470175341 237274976 777118670 246852603 933854857 239187693 723071015 332014954 663559631 482765286 549408156 170233899 114541010 263401476 185574268 653996389 448638101 344578755 392422898 706439049 797870188 575341798 239244409 221229794 335218607 878091043 771688060 538061170 512875772 950116627 854994102 694397818 198384994 854896797 857521193 947456788 326453161 293818279 354867432 924662533 439851101 821300772 260911885 988007741 725379652 291776304 911184354 221169387 617040293 228045586 186211645 529695572 946002657 185743902 609514635 454375255 967866205 985899518 373736068 808218400 842012399 481051433 793640563 870220304 351412063 220086063 519251443 190310526 232329141 683663417 878712166 371696932 185178794 742024501 602860269 488479308 471472213 996457241 119910096 809662253 390945467 710814789 839171454 894272154 280511231 982303065 641625245 629210397 585865085 411398560 624285862 772205908 945111093 520330806 683016513 425938852 895716117 963361917 271324728 661538784 355801967 397688867 941604398 732113860 537169731 499487761 169321021 503802256 670575116 691530261 515950423 283838257 492490072 483976188 680463468 253043976 624403413 738253613 935760255 986150303 789024809 249376435 832645017 813431813 857856052 552000961 575287663 100612905 912285406 865895262 914041887 249956960 692482793 920461830 771971887 490674273 656865161 719737347 863682319 837044493 100100615 250122939 436092691 785468946 295945547 998451443 875046514 424404015 502798333 858367923 339780975 402866455 305836024 893885900 283870997 645547703 192777210 980636743 122544525 287708643 406793756 154753718 853646099 778953526 888163933 514486500 204123922 637441686 930733483 559775814 186963593 539429902 174954331 618508301 466176027 176510601 633304142 281585103 982161117 381142217 452604628 546234024 466857129 216476128 978119817 450144603 120958909 631643642 800899309 479306761 884737588 892636903 308641885 716651406 676366667 509376986 181083414 793075497 127770305 420352088 108989738 162967125 865858777 820306384 952312732 690171445 521597505 271563414 727935176 953761151 495835934 931412497 779645952 260140258 900906738 365809711 173093308 452823157 257826780 594301000 220822911 743549347 442547682 174286920 904797945 705914332 527021134 941571663 176638510 140569398 275343994 846084641 614542600 534797583 891723580 185228968 995887065 717258378 726168841 654281839 241258250 725212621 194786254 841737806 917186040 116829029 294822642 931075902 312587147 631027142 610727324 563880638 300039751 255261539 924348936 539417230 931428437 302520984 136140664 311330588 618743479 381001184 193929106 379926822 618920504 730855421 914969162 198255793 798930318 282641785 485311668 836576704 537044652 927010038 386473235 485403192 436934111 745380609 736753787 647035849 437815884 427410901 638774456 766067224 630816975 430439778 439936200 897286682 472060912 148684580 540457857 122100109 400220950 154124466 736890037 150852110 942355786 926356464 853027442 310692036 527921421 154807503 502044550 832009380 733849508 999285520 566242097 111580975 738968752 690240654 701413340 483378911 707196647 332137571 257502413 642616191 289365135 412915737 381975064 553319107 723325107 663079182 748015596 337479466 977175853 258088654 483094696 852210856 548262252 226632236 871924826 774638196 393665728 381253695 730074860 553775658 463554248 547079978 297436050 125920910 638306002 538737914 736562873 410601565 482076077 267490141 694140993 393254273 706225163 363982709 944980556 983937232 497322616 356941705 949315687 978922665 781288155 649904504 849400691 810753274 294848963 669606399 698930828 799175760 401968155 922797589 576589018 261312360 681536240 483200790 738060042 938718798 388949131 490739519 477090673 216437852 675701818 473361140 181770072 555239575 272108749 817349668 701154715 659974697 443176731 768401442 471636054 463981324 510225812 275299345 375852160 550090506 601779239 149801582 385902329 530964715 896815600 372210254 568164309 893959067 843762691 500369682 403319379 980009377 424713459 112956243 305506651 846924143 344708395 642262834 643311199 263114754 368328435 612958961 910502442 713822246 171910625 283265373 709107649 250126661 730975156 348325557 232307526 964024090 742395507 495679720 632025037 576779647 828049562 767943619 942667984 269515838 183310718 453937805 166016868 280308875 252254154 344652483 386977212 453851559 487035382 205642641 353861848 210890772 634654509 123645482 600499217 843435137 645046420 736773758 561207296 146626228 845816523 519476626 937385389 390421837 838296372 192446323 959124528 798002820 452762373 948443098 679114377 864401871 340166019 490695461 655522960 261270590 466378108 729819837 904207730 297048975 369368473 981613772 680118856 357067016 498642025 187806674 687098095 600812723 947909104 426598223 164314495 681628084 399961131 328652169 501523794 410536574 623742892 196620617 816654552 982384295 450265045 988759958 360947157 559508452 352813634 803669125 657347159 670307334 322015681 481422851 299510973 730617204 754150837 795396535 823784407 174471450 420180899 432553514 445435071 144853062 411974657 155784231 868609206 465988638 506816142 668967518 451685073 139182700 216075683 790238640 241837895 357939609 662542603 967207557 739546012 885854891 397752636 480236273 634239855 908055364 306992717 121359830 902279200 669910977 447980752 859246087 619802582 640110548 590976071 460637240 641350386 143728053 364911787 706491086 367350458 726230928 711053388 692800351 863246628 142229540 941438915 894220811 541392498 228278379 979851418 285772520 390197997 423523071 710180080 192699754 964922338 994440269 345024268 637675016 325686129 611145365 714627895 462248588 764317815 826518294 716704242 681764409 954798661 587503814 803284572 986864035 695008036 607907896 788262005 484939453 459093329 918291881 173798603 193581335 533497700 944616294 785758351 624704707 363161122 767516282 719199212 978877065 234543483 579041925 179278257 457891634 399640645 556115234 355251251 863068890 453622006 716420266 159133393 777813388 600479060 899378675 538010380 439276998 899978740 972129148 919285130 655434590 617071000 782474256 421508007 496439561 229492935 683366228 926913726 923769784 396996343 779775372 282875314 685379485 236179958 643591895 311047056 432213338 459701547 791844771 572945046 180096089 581091000 486672240 453957381 977165597 178786659 290566081 973996581 272832793 840816706 925290339 133310184 448799949 555183241 999635757 305861352 128683718 141718077 180543603 658439874 737288085 153806788 357315769 197454653 730448205 973359171 878633954 949185255 298271738 502916594 443269623 792115258 526830569 850519262 524925124 748985804 885796112 102301033 673111977 620674277 487529704 251162440 662895149 493374056 588016821 146732644 354139258 441800798 668544972 959830026 625281349 164856921 909905587 255355616 581588615 278163581 856473155 647187582 186048918 441470338 501557656 222857369 230754742 203244114 893166694 103701499 304601213 517394787 788769299 570698616 456187064 946920366 190837852 261962417 389945495 645311807 129103489 131130063 669597495 385170840 952052815 114451740 580240197 924875935 373895282 238884964 624224428 587832094 537020442 483687806 866506821 303083897 273786883 790594432 939077211 325282797 624494838 345035321 334133059 787331334 739066895 138328681 730664166 815552255 937789627 328791461 184544935 537387761 186466970 689500381 445671517 894774342 930593958 485586441 817386169 617575977 947813514 842080993 500601216 811834497 133657657 168222147 647604182 228567701 664876752 425886355 653610684 952793619 763924972 676036917 381163743 582328494 806755705 746585836 929355795 434796606 506845487 148213909 169863156 245183731 581337125 210125348 880094957 891970549 139836717 910557440 872526767 603497947 529118037 111974439 603129376 300708024 623461544 475107889 683759280 219955508 438410867 357575155 971947577 822549703 429387834 150965699 184179105 914855042 419766790 353779874 105356249 573002617 530268376 927844847 419203604 166792793 959331180 669907787 196609626 906529927 955388543 891973454 245410605 501728442 207196240 322479602 597082322 921033028 662078576 187768432 626889285 806040043 429604948 250107695 371105483 913005114 717498210 852427380 304249244 966266074 189379520 486912866 688449037 672880952 363055457 536360829 220557577 538844660 473767392 807125320 129759975 772663692 130698426 277750374 201935659 602813869 804032116 265065415 581799439 460444947 750014392 364780106 462459709 572505653 743426589 876850536 217946802 313649045 478754746 990813084 200606052 236161372 241761066 268893985 149453905 753873418 784219343 625090772 555405249 189060094 260213392 120370394 914845210 985293472 698080870 553252220 128128802 534154875 780245537 809310615 685314166 661138183 883628109 821940336 923876528 529621016 719594655 450441488 715904925 115136763 740708338 760874662 738570249 969631241 657346022 684589003 878765951 273210795 532769057 896677607 781022914 681269983 170575825 535445576 930074391 508900768 623295814 255716148 962999193 968336640 780819371 926148759 959682836 762385224 542001483 347637961 941355560 729175030 700430732 965836157 101031961 507736988 758447290 777218491 910872179 254286922 698545750 737128300 915024799 474878944 631499789 674341223 361611945 330839429 987184122 178790621 201267284 576059132 318539377 247088287 633866874 187697578 685330075 202303281 980296065 113183446 198397786 320976095 176894318 549645329 849361588 764031722 706101254 830752270 140420729 553012475 469639320 406419041 828171437 536464876 589527818 152954828 181088166 522868076 331677764 213632138 409208089 419940470 144735696 965261661 597849511 189290152 714828604 131818240 950543452 432887373 371376419 992265725 750523989 262720805 769211754 791379324 847065516 124714333 868022566 725223100 331874540 704834692 231793240 309115418 209602218 940135348 197161822 792785395 554035150 717425231 548015867 463958703 505900281 645678546 468952459 152534768 567588224 904611374 302797013 864844531 476945932 757970721 406492360 404823378 313760150 364315111 912911408 890102233 995226070 456348995 408944082 139156977 986041210 808871883 762189908 861189702 319072456 790288313 228849502 502225987 626367964 126665979 565157063 919218838 516909154 818418601 992197163 752834165 613246041 368451925 165075289 246937590 410629772 321807157 958493217 286692425 545662674 156303475 945306847 477972229 325121505 986493901 487759421 997331498 816553783 339893994 122831129 737054030 929117718 685844154 199365456 145031996 309566460 110914420 665221816 962417812 673423830 489893455 837989878 844593728 855044674 838692874 746795149 393909283 148606103 274521840 599995700 789010262 632160132 805148700 439158420 708733285 764525540 474354214 160828883 574703146 896930607 926726429 270376758 916996733 782878577 477260885 880985179 603119256 132664194 809577544 547737371 515655874 861257436 104903277 995475734 351732545 373900080 871323956 840246374 414923021 108116190 432164628 598263860 649074308 958974913 176973109 616186760 317190923 411417234 942982088 979130252 128226908 364940390 103568201 992913028 169563510 394645569 396852900 527094099 990551092 150114318 907931006 523060584 846589996 643516398 585911136 265911959 885679603 911970108 420344314 680248516 665893977 590058802 279877160 354854194 878130041 722256359 325512588 518952471 676938997 140417186 956950887 129575430 114456379 509267012 524753628 364825401 377528658 484206105 785332452 549928404 351853396 744470380 382645525 878511398 388666230 921782422 277878678 239774603 861883553 765289961 820816134 355742951 766709676 440236893 668799210 109081128 596551789 556187939 836829993 892549359 807507505 315656016 899877016 889998224 187237479 342153800 781667242 889425349 424205889 762640686 799619888 236496335 910127583 909016611 355852209 398960067 105740397 163365594 193326245 268059720 318575216 433920692 688415979 523017228 728640947 442155507 833607655 887278650 238253416 531975574 161083667 861489398 587898060 172773249 799012539 989399250 799861030 219717912 565454887 564614844 769020411 467495549 966172694 980952573 632791719 174132372 313028242 169015325 301796134 535842934 491671272 740116326 438337491 355295230 682706997 536225401 149053984 684126898 110279900 773691848 737498251 206788198 994847507 887811810 778103598 249638447 186843155 182338311 329821380 452201263 892900992 841436985 809759275 516381785 326779199 369497556 738982913 562381221 784702923 462966462 866637297 543928011 388233726 537571263 387348094 495077438 983006611 637826517 362881784 387746272 537808494 318750648 220866668 628981361 962480321 713842131 338025950 129191486 618369922 284742016 806581417 990258494 786238629 718833689 511646513 614229914 382925279 469735686 269228101 954787614 966998377 102403341 182851500 906272015 664596480 629161641 435846401 548311032 160621068 862317386 198177598 969515321 323636606 736227962 959186465 331927892 596866505 888902486 680017534 953863002 470313870 485902782 754560662 602534479 991993238 380064621 590926883 315053067 685025697 803984699 982332119 485506043 880450249 385317087 511037958 913666775 218321308 130894969 533430868 964404538 408593041 610370384 977187229 487968891 254235502 936749027 407549331 309072688 610370591 186458217 420372863 669617225 922243550 510275723 711184268 864329979 215049411 842519911 206334355 214452837 266752826 852152598 804091924 801441018 376652840 494872914 527039323 897681766 502302963 676821123 730628950 326946817 192181312 661528580 900618832 249866668 688081259 571069650 491367120 108489613 928282687 823894087 781094252 711279246 196966534 200007645 212510473 136381699 166210969 632122561 903517259 355573768 554748230 687817227 691333398 541468661 799734833 456052038 503239897 188517726 624185508 911389576 182910867 305058125 887193895 402977092 816141275 258046079 693773454 716290329 100268218 106833215 575220553 349814062 413842106 703938495 907154240 242984863 245405489 675936975 430770475 866091930 545665373 839461850 940181190 780000127 798755549 695652438 724824693 666456701 857065443 692506526 667486920 610997343 404833460 465779573 314543876 512768203 170456840 191724191 584099281 497801100 345437462 285244691 874548640 633172368 464093979 977369187 804973119 794143972 197493095 227600098 310210871 828870669 110263005 724783745 508241721 471885464 366650958 621273100 654405950 517373719 375719034 132588466 790943369 754214534 530239481 110675455 134768046 936264777 201860060 451972942 334747645 480178962 270611485 992035629 847123773 293212625 390887877 646477246 595059908 937645555 931838057 896002064 399737357 359571513 967764987 784305381 865130959 668975664 650520174 131137595 139306803 998967076 860751236 448598005 726471121 949190727 738483382 936271615 905091269 796906597 845015190 300933635 872253162 341460670 470260027 797736905 210364791 525828718 696855422 460600314 822458273 764370472 225627737 570019124 215983952 567439656 945022140 817054284 740012946 399204028 432852626 113062338 488673620 428652368 339277208 236261159 483094638 470552918 335964004 396270199 706142205 438151060 985531560 498429314 332622528 359733680 368384186 733721950 582380344 266454700 264166352 825463527 260457937 496486935 787871703 378343558 397053899 424304810 207088625 569120314 977879122 767817629 933336431 405040213 376965479 421886162 620136839 195530125 840701495 165433878 465672850 725933346 100120759 378807661 905828454 385271080 269481415 288234666 570823615 496856497 300066290 131873186 758295074 398976454 660547862 105657349 627176524 148204959 892619584 976590272 736471775 729517315 527604545 219768120 960551568 489909698 788430405 935189676 324516447 660241498 574450715 515605704 205404287 662412249 713322490 425508664 293967183 892051896 213427075 834530075 287869255 766788455 743014934 985482945 516293096 289128405 758008512 888381367 518292564 471078475 303121534 719912337 730109616 363803783 832057863 438409114 943557702 946084563 944679630 249004401 763442300 263926699 464828372 762535943 534664464 691262524 461454768 942415479 528674570 470501794 908470124 349986537 354373432 622663927 577125371 515538808 270237527 996326933 491319388 841940213 750861014 685743913 627605830 256832629 987161601 477370585 265381555 544318507 408678852 153867802 151442026 570005229 418701984 420246176 432570238 490755047 508067378 740407183 563460519 147765483 149016419 922761925 485005372 756246647 491521191 622388979 152246110 963987745 908061779 224866733 189521823 285483004 637048074 743644583 856802992 199375589 944291576 886668270 358779761 984279841 446868554 711678602 147471763 875174295 831328550 558154686 448268489 150257471 138921301 583591177 304064186 506086918 509950983 925052027 320214598 442010279 582372244 989498804 850746071 884129044 565605245 805863553 333090733 168168186 257636967 557443673 267085492 197310774 756147610 841784216 788951329 309624391 743898099 709415507 706734583 350967083 721580992 954663435 414212748 795677816 336193333 184366692 756934657 990619820 436554903 303441403 503726480 265549380 361927202 894797177 298775427 595439656 881585575 580805026 130029443 158429576 882005730 885410868 285628590 592998285 180245815 159686480 962790252 965938767 787633966 354399402 621818196 298604510 246783255 364246414 901914858 377669947 332663975 488756039 929755420 927858840 501985704 334254224 741035549 425876846 286434258 421093931 474126051 493185483 804773911 722206391 764774662 715686276 370027907 676049069 572024232 984173800 447734161 458068914 458523490 245417724 360718913 525708910 570063869 212397625 979141683 467426904 807960646 911553161 209071739 304017009 437786634 794476917 613904842 764408637 539265525 864058764 333592892 543641857 503497294 714891527 580410599 864833391 574640704 492051827 298285616 217978294 374856361 336531473 934380727 169190405 930991127 134408742 164848889 751697650 267506797 452465755 620091509 434309705 610939308 341150071 109924121 613060631 700088099 725813409 893642752 457942170 391659996 813526215 440417115 856191903 964220650 285154705 528664075 266969055 604582901 507075977 810817432 349360872 606702729 808148665 730511789 326424773 333756430 507927866 301011025 602689941 359821841 138985064 741360826 312326240 697825148 329941295 558679855 762932536 329382010 556612237 673413545 871405876 332700610 894353957 347253656 828544712 860945814 771322353 993816759 297544785 773127518 933252639 646057673 721304067 768235755 498500356 462776054 220362529 972058068 608226251 673657145 216170123 620078371 290403965 563639220 837438854 310015818 507050702 410412866 601262905 718183075 589553130 399540540 120171158 776477648 685703917 677907729 743397484 866523951 374425142 779330923 446631155 991080473 851733893 288786857 663470802 113086858 808938564 681558556 939617498 875319312 728514367 409346692 642604496 895494698 719171581 739427935 469181137 309348996 569668068 141758923 545819567 971677457 461225367 673862271 858030905 526441775 305731978 671594948 250065357 861087108 678997145 200542773 363245484 789950100 245148844 261016297 271542760 750613932 576958030 360236371 649813930 572985610 622074187 491842730 535706447 667963105 736725045 848108682 469288295 472888309 608077767 201301397 993793543 633011499 902871796 532520698 352091832 557212269 403812906 546489067 316875291 448494168 332840275 885225590 991931398 176611066 291023763 541364616 211989708 789531766 154528282 325231866 704546276 144525272 977120535 690470881 507220742 136105292 932118988 117852915 981305620 218229454 777059449 384392358 666538002 470427390 212974675 698635206 810424512 783995035 597430949 246699966 797607889 863689490 496395457 516567779 901227215 197404990 992108096 378450864 885472121 440984300 114818096 597530935 310371237 249146933 625087550 111937470 231084224 363731152 856433107 231204958 334831284 340648139 101988455 471848894 668454666 533197037 769950803 230445663 859233908 385478228 730278874 844603162 647836591 710804221 474834999 550413548 249239207 530410999 978756952 588139353 407173196 130399404 982855486 392091107 440898885 991724093 312835009 811589496 495931913 544517886 116571838 403553623 618889556 791388308 759476186 848688182 922493068 541035920 800807712 358860860 449652332 188420460 937066621 265031929 753862349 515083082 884909583 897022719 964914249 672054864 993513850 195649121 243136578 191321436 539973983 268698959 838637695 341998271 795010939 796385575 558481719 142304721 825922875 577070532 816020443 946630353 433869664 696981045 142932523 938135611 607833855 513946209 817811012 524949655 345434823 632452301 871838680 462188238 926199234 530524177 974454465 125073086 291115517 576990079 602565146 570609294 598564447 825142963 313161814 834252609 182197458 881522354 786701361 127432517 927250008 585286173 397784587 580397235 507231086 322374247 287182076 834528729 769828743 765127209 546688060 503255682 636456986 932008169 720651651 456683316 170369335 853676202 774802661 509559346 503769527 889006209 197420919 364154663 774046895 793814167 317720491 526050457 386077660 955798820 439182356 695804570 412706510 736513908 346409816 652827805 989049825 188452907 899092451 656191816 867967403 802355334 477709692 115665196 652788269 744352672 970368445 397768799 513870164 634761650 384494286 414873892 695415830 312812557 809532878 462790634 618534920 444595057 239340780 946756168 232979231 249510670 343984779 335771877 395575166 330377130 984421926 399805061 772517542 502130767 209980014 600782192 491336986 176715759 121445381 786448923 718080273 498107783 795482422 760651394 423799873 985966515 179536212 539783185 142828744 158226006 763393630 332578091 807456755 192251897 626589779 651967208 703282387 695508160 232267988 341811835 177953715 777664799 653651878 646420454 794087050 206548381 289349129 928074550 148429342 680390701 198302263 215951177 105971218 851237256 471525738 327334443 873505060 128193168 295034675 747024311 910458222 181589824 972687503 644790477 450433829 791259017 593949735 573614341 564368101 121150946 216309660 256976185 886440196 749055696 786330819 795022752 938971441 916862532 565221221 886981462 713388185 305918066 713919270 357867170 797107384 518270609 960511514 448959529 219465723 355820693 460347822 252768131 121117016 298789956 476278862 670195243 571666569 224163381 863198512 312798676 625473560 145043784 918929528 736170575 656119070 697252146 737600332 391387108 741413507 642991270 780715560 263350624 653802346 810984614 573118601 691989391 315559335 549397886 183109140 118061114 984191060 211278768 839772768 121794772 153230977 251128468 179734927 756710679 835938511 442905821 360850624 389442959 480356412 278607906 700732441 718870810 210061049 613491512 112416145 600420331 372709064 480835185 448504232 740734424 157548344 198264333 345261873 946152548 206799932 649152745 130452552 856143746 883880401 471041905 348769862 909284714 645275282 598935239 380422947 724413591 609220667 117273334 493564116 459189102 234232167 196926928 245340786 871822687 470750959 298903927 947659245 561438799 175225435 802825342 803086439 788099447 831113625 805824038 990545198 351127309 472918003 187659691 206845512 833231923 769056487 298171134 571764393 125448620 136040908 230080758 260984116 630475694 240107493 500657618 901013439 120410113 882116289 850356226 787363790 974201353 525691990 206651897 263100050 326267085 390337040 118122575 992850118 684541363 529193637 523293770 264137104 881870352 935148814 661202860 198930529 653823286 296040889 896909437 531075630 706688961 206300686 197402296 562479650 837383727 430514107 521146732 979444721 755544946 443925657 759007853 300384446 339731402 871030666 222627222 319072224 681941945 659493108 820625563 164920175 974043669 547533475 844388410 732058797 690009079 366710068 398789939 549416126 283472047 118740090 239610992 914057705 390367315 196567252 271784845 296892470 153061698 607396235 959250405 986777097 805536486 694672275 244562805 145508549 657278101 165094828 366503196 738720493 363297986 169629079 898294649 599482625 921214544 872727853 767154232 522517817 197419600 200698813 294480923 155715772 284764488 412448847 943845128 771022353 432462931 971644446 738876728 725655388 728184193 109371285 930882497 981704988 206859925 382188414 260334315 380208693 655606832 230554380 650299851 684325388 781053772 951856639 517214605 365916475 598996366 697948090 211189490 811242648 707754896 392020621 551082356 142095760 832966621 908275621 973336298 323074685 679585517 203505706 987094729 587278345 202910712 934377819 519764507 554788705 116836225 278653711 396392035 701114356 250209579 237806119 123250632 288890258 194063762 637766254 215094096 229199801 709899838 110249251 344678536 763477193 436454313 591914267 894722932 486609033 948590995 674306589 727887969 324358076 772361387 295511745 784513640 487566034 444056390 676695761 138276345 850457752 991648389 511839048 954991769 743893555 309965747 344364289 229641404 865317282 236301348 732127940 699224003 588665315 149276193 488543969 164759428 856922021 280807502 556799312 794487265 240161456 501776386 102359017 948152752 852414122 903451208 981212790 292483826 474817715 194957680 511037401 589706687 146948611 627201943 554240297 782764565 153207321 379908158 658463984 138130117 583360920 306487114 811833154 682616246 911848177 359502092 345166316 656755148 755925955 187570561 370096003 638209719 996085001 375078288 739122953 909862755 774734005 481777533 550844446 586335252 592914506 425086173 776862828 482229981 405472446 751889939 480688298 114425662 405099876 304168882 702090717 504967916 243225567 981176299 622656036 992853252 984132702 807246889 481583112 948551943 140563085 464494190 715771843 384305276 380487656 629865119 584227196 587889158 721265814 492920236 325792126 443382612 955316650 993809851 231448950 832621032 103234492 895693463 397816335 992143658 591602335 475810146 161387056 249538400 559829900 188463210 482402289 298887585 740321983 220181714 509001230 301229358 980098129 142502873 133910547 194924019 140100723 724540569 159641823 136100677 795157218 874135692 514457439 997755248 619484194 909346087 365226916 957723486 268229859 869427895 794259723 566610090 867981656 803961466 245475208 144643642 219305559 578429334 488561558 759426864 273097713 754907561 314593217 131662928 904325965 587627294 895461169 735454057 531004709 502273204 780302413 729014108 388278968 894156813 407679178 889243681 925994697 991697182 395561690 200296099 421225282 995061656 294183757 942397879 529235154 959820412 604666555 114928793 843579552 429421684 370303499 783482444 552246196 398086006 331705454 946547233 772730511 728680787 926685596 661932737 706925500 783606377 457261631 864061813 635405223 360409338 835425434 239086086 726045511 314227040 389777208 494868796 368292397 456290740 158636114 261555101 392917805 247619890 604731758 259742038 431325911 749522886 574375310 848109188 278861438 140126234 985127213 390611018 975294287 431208276 563050600 653123511 576938295 997625472 912782118 329231538 699468739 968543552 891208278 596060310 949664678 633645936 552800178 507960817 402078932 367217768 479785364 149789152 797391619 888235548 701772146 935258521 810105006 373490343 728787231 714762848 373926015 217026326 502009378 867820329 829198510 258113501 388047229 189763087 471632087 647403424 577352289 727842424 583101840 367809514 592705519 426642233 326977943 141203716 891272631 967882100 967975881 652019711 479518853 893825260 201330454 922350165 114533594 406810313 746015873 203384929 898064929 959482926 173224728 305016840 701324823 502413557 451714605 211034015 201355258 993250393 690021942 822239692 621079914 743430297 896138457 359014509 660808950 505289101 334387455 571817502 992233369 705677661 543356500 514353173 883200983 427502907 366045544 477338910 932228682 206949868 782594139 952805378 928284066 973703041 650051362 684811129 935809104 940699971 109985902 346777097 858111473 758773623 466062882 303716842 244472644 377343615 100006373 995576127 439535536 288674045 136319017 324242907 919050790 260967982 342802598 812815129 798866487 452948834 501908707 989084671 544964878 496742336 250436920 308850366 997738868 549865647 514329328 917320641 667048939 193066998 859039582 221072435 959483145 969938731 356649564 665595912 375705702 259372035 494257039 210196060 823546024 348231919 165903515 947693228 356355272 313554222 296617290 612495573 582016365 668935975 977043971 812677788 141473854 176156953 490276377 150363644 125922004 284986917 528007520 359856343 945029555 475036852 188115059 992941775 966800207 169126285 155802222 546922226 669189634 284139798 819870417 240627849 527656981 167279179 577238479 394584594 635442015 608663194 966565606 305383228 690473340 464515232 352859646 822476529 394272728 853423934 200964935 603660847 208646139 185199732 149547392 235187301 228966433 198398341 734238618 532020078 349112545 221343983 301694110 323204408 771816013 931450313 157052767 938220687 750414085 529368411 210522487 334696385 502887072 662563308 803708021 595667256 149904016 477221272 723385093 479790644 881354354 967492118 790788863 313578883 834811036 358903753 870552723 381114325 499426594 654526012 122316527 360531816 994944484 722566978 478394351 163695838 458755017 334876641 814169611 746768762 305620696 596003601 400125423 986959825 955189880 383503081 872027781 782536324 869892582 215420644 873311312 552346437 922124547 351626922 616590630 428573278 491678256 496871099 352945782 327315775 363236488 496649108 973704402 881945529 972295183 946912884 998458063 536600063 784154108 103209153 481352197 823398684 953714038 720983939 759925768 973153827 943443980 825098630 722887090 819867879 209911848 460232568 610294148 126161626 501846893 998407858 191268013 720614750 656402666 914243600 215619418 662674360 896625259 538618231 402907297 198512795 820988520 861594201 854369555 880347315 826651621 616210408 643490944 588048296 134119490 873862358 466522094 706677412 523526566 818063827 272112867 702956855 346549766 326336855 457919075 710261703 914890877 340802281 391497639 439364067 182002019 995337466 426623619 824189211 505941327 451923030 799361506 292250740 222389505 341142548 258016779 651439278 111403724 288325322 390027427 515637745 808970390 835261565 400002205 783852194 623539395 487543111 631436750 399111762 264993412 755730636 521332001 783811178 590002410 767938897 891223361 573433359 204335992 858149052 756866819 115455490 914610125 598207924 564468389 879710816 442530143 673398740 203402501 631780293 218745031 207829074 508543218 400618988 317970832 507612141 444253610 845530402 581555231 492628874 994543200 480503501 907327227 750995056 859247486 144267583 912595401 603903313 640663448 134829285 361026539 637941296 909909120 352937118 569970790 920431357 739496271 886304578 410311870 241262574 710048388 360598268 315554736 482307798 813579645 912393376 619837285 638287144 877333519 988977092 426676981 930874327 731656530 640389553 104727562 696970060 387984491 613425335 977940345 964122616 650198105 324520824 712431983 666021891 843466488 805402935 799588753 626534329 785253620 773253900 270347442 765813230 825142127 573972989 941031879 687145670 166215895 847041228 297837880 830789096 592636379 673669483 631532870 192182785 280971121 726411689 623383236 956414447 775561656 322001240 287466625 723369274 475235104 299783463 279872480 652603482 997724073 470745078 350289532 260917713 266974766 897168025 880567964 871059567 144155657 191013761 382629629 791977835 622193889 350165474 485409657 819037397 473439519 732353447 235875433 742740812 405731292 696732432 347466062 602194963 647257568 466454349 142284834 314785068 522506324 201783506 648850963 203188486 239626270 673252127 306864678 506240772 621926811 628408262 650316053 992557797 195516478 614605949 835464445 568090096 640704728 169823796 194206386 672696883 849371702 287733983 494116047 130858595 494901208 286982333 412330955 425666796 689045227 380751527 775920588 819917190 154337983 968665543 899868212 480472734 498977262 526055576 347406256 505297616 514924811 113042721 518925107 748297563 594176644 739720300 282933665 422659068 119316804 394442957 890392294 526996587 360821287 627477021 642316938 190307706 572949527 717271907 797102993 668136441 525987921 797493773 931912997 934469427 802734411 871300808 737633064 187779515 915108763 794277089 994110399 857056778 307041763 255533156 789982310 816020288 982891055 318481632 636720070 291779977 217887810 286024371 303761605 355761696 161148061 265468041 701157564 622100995 704448944 671859345 698211247 324935714 144701459 763873115 307062795 946693463 773620838 721691339 982718884 619373275 545339843 800114328 201285209 131127283 773140306 622952218 657203131 883525525 265960395 520806102 464704700 980565241 895394200 126167631 913371462 178823292 762861925 242426317 485565986 836988945 572838865 741840308 249893907 666092965 463962822 513590574 998762500 450812118 202391404 677696371 359309543 365925861 172208731 199983264 146765399 832776248 776817970 881550198 852589901 607338372 654062233 553726615 463922186 180510092 721499591 680674891 911993820 494339745 679846478 697578349 306859517 693048267 176439432 525772203 970190883 337652583 896707830 580534867 898266844 578115426 402343262 703065620 312046867 676896481 954948824 792259034 164488328 522078246 303763244 374184719 850274113 176257220 465420015 974734864 174101675 715072762 589323755 268082905 959273928 741638305 425766156 967747582 695994323 690506188 306111129 786259536 710165278 145493225 534634850 314514852 579487174 561159850 257454383 143771293 487541355 677642759 535894756 944817392 111570818 223922525 895712922 250751702 100303107 519622019 931852405 230134509 259584511 173340780 135873875 499830104 214361956 882760519 212098505 814082862 222383588 543454936 303285329 939786544 666146937 223419210 604344037 294112502 168201402 792405581 758374576 776074605 326128127 465450270 915642064 364093292 738015524 857155730 194599811 349445208 989843026 351834252 112385372 438913203 790668062 557889354 172765667 906526114 296005535 846276058 895487997 710257011 905879143 344407720 817421007 961351441 586691397 764928155 481411058 553683332 752603254 753913039 306094427 491820126 385872892 235982771 904021396 996910417 758471049 746589959 147416902 576789259 289785417 124439686 113197102 830646874 869714703 790529613 593735215 731998727 465680032 883315187 753547124 872326633 423146526 171314239 269893722 296331239 218195660 107226213 281827346 645056556 490872537 453848478 602193048 297555627 318924992 509956885 664236199 169792390 797501006 401369517 139573427 789723406 621332313 963714282 527219360 486831883 792714220 418380784 699601150 852629358 891089774 134966737 774949061 320564584 483691416 307925342 876572770 245434063 354873333 286302532 477176902 431961574 106975655 163590879 128069711 992138698 843572264 625843267 214612911 150458581 574164069 694781872 869113878 282568613 303805388 429681003 438258024 469450134 592070307 721896634 995361669 801568824 407964931 817780610 746818705 433757096 338889723 208546023 171753267 830399233 745588630 776331715 873732933 204432912 440875239 126696333 566590400 381403599 129456940 440175191 200656702 274315386 515884224 204640921 352156009 177276892 277039715 329635255 596549660 459923544 140425481 324767791 758871697 479209953 602590516 820258923 573497062 913314433 622336162 767624101 891197867 761895224 720569325 440064960 300093420 198849136 503620090 428578863 222828306 665761246 863871574 117971523 853785487 301745041 804249050 107846676 344781917 282855955 438301798 556681459 841909816 348620038 272114201 243135078 363552344 769992968 898040567 142615243 529052728 251939906 939192407 905082937 919752489 549787906 685897151 483402727 178490548 186725354 406697749 652770039 620851607 908369126 514843252 532596412 614538469 742596063 538103986 980856267 797700066 720919861 975574459 775340427 916519410 184222839 228452001 436102904 375362964 760288481 117302550 882374603 606691416 331866430 349452355 611849641 435983097 792371892 754804566 537561508 306667320 633910742 446118134 768352955 566726482 303426166 119184371 608133372 438605394 644117200 611547721 777521470 973929376 333162577 551393266 641058171 276006757 924454694 831139714 575909151 812363585 424180908 827249029 181543111 214660458 284186350 863148717 806094605 405534705 266480503 594493085 207788057 778787837 730091598 601120960 640201228 582157870 465576554 522270043 495283983 122690115 537202724 941725441 335041323 606116283 922356148 422890036 718387211 914677058 391305595 248886002 801193088 652855451 112635110 547505321 948262662 927182864 299907933 614378588 576104681 274238499 860110145 141228862 770696358 667663322 833616984 557517473 997385209 107781588 622641921 216488010 147768381 467999975 632767789 881748401 319225719 704879642 592497678 157826360 221451948 804135649 357434863 666505106 799132035 665572930 851346071 405312325 541110865 953296913 767951805 302153814 931041115 228098620 779629248 971875669 680719320 568170916 505685086 950112862 352650669 713166074 931812717 519797830 232726686 401802909 987021482 420147655 876191284 186757251 719178033 178320746 225894701 635516982 428840601 478703764 406381337 523582998 515910478 241639658 940456101 998958698 816054287 185383129 584146454 340279187 804811665 629504783 253450696 295780383 324146871 718998757 541077656 971764980 666898794 354093056 421114548 628850554 528110496 637984942 760525994 842217037 646712639 648165797 328745683 891058645 647185626 698714399 515648338 707312750 642119509 617201287 509872100 574286658 605747651 552815703 824459038 736572671 975565386 563905997 358201210 525289599 784741691 677588077 214700411 854717725 650444639 615973194 977148018 823187988 802741252 623476599 899051327 945750927 243062651 204112252 933204645 180571388 868259946 707890732 522375624 275532187 500304684 537596443 864738477 493647600 640689524 169176090 586401682 812118614 807430492 205246400 181559032 220373237 528097696 744847053 251319367 796462906 399892554 833871984 272759567 785712620 743534127 345305636 558522315 179694725 114718907 125433011 151948496 826908728 950311628 236799732 890227606 988063675 595215829 608549268 535234704 713923203 386457276 614085805 459901107 192565526 479410934 118576440 705950854 358323192 724666758 740871302 679766216 943549243 532533498 250374675 750255404 781727196 459836886 568071384 805083219 272240053 893443365 739594745 624863719 838491647 349885592 336948923 767128618 720579208 728722125 824995046 705470629 511710693 815730413 283630119 199512054 854719247 843336723 279390070 259306792 743396079 449396950 178030456 268513010 848211680 203982535 942914787 898411176 549651502 950822188 350038871 582481887 469724570 570557657 577450020 693260801 590194384 277303205 931610020 763192594 556287891 869421760 118909456 401716045 689015413 409057191 220793614 810476243 228415399 582979345 657977662 794347702 309421967 495760647 917762466 943249499 595427474 542123369 853862937 946151266 537472306 358694367 707336169 944737876 221140849 671618264 886319306 646699836 624064544 927380635 541426128 470968162 877149051 906103285 914745237 333011114 379921511 392626618 652605341 863328083 595412906 895495894 410910003 452245135 735430070 104683743 600499996 561120334 219000817 763174765 685511676 368491349 738519961 561207217 584262034 762696322 720956590 419421416 434783953 172767650 570542608 155388675 612826360 242642078 957461073 102983370 475682043 775565785 662142947 778293165 921023263 566335405 956386883 544785548 485494611 706230803 917335000 440967105 951688756 217411263 884050782 686984145 725580500 565092125 816328404 988915572 943472524 741525879 144399466 537771457 206363596 244990792 519811516 429902791 909407643 750994887 427910125 426003772 510215923 268048399 592687877 105555744 376264937 445225617 519030491 435900140 819423794 396163347 653294140 261374385 666347456 989240687 166242959 234864539 253468656 402633399 120630323 826932785 865282333 954436992 811233895 650817770 851604371 705186597 977796250 350227168 131109641 689013377 861848093 107031437 940917699 204426517 533404717 368762498 747227393 313725070 964598958 535073032 967362642 190788737 530464595 468921802 446906402 229802746 766097681 220927196 963005646 845695747 994741353 221291172 742534709 982688338 483439249 927256362 901160902 620354200 869710518 726409153 731585843 604956469 837761906 224035366 326846799 896781079 802947212 386630996 889872838 423815200 276721978 242228324 696667450 975765485 383295662 377934089 280733903 879108114 380811259 372704388 639610839 748358620 542807535 944744287 736509783 551960136 509958852 488906485 972141261 711145706 496882063 324105040 931520036 583316738 452294411 545083824 901387155 284769877 132866150 842272959 468817014 517244123 961827633 871851134 971334364 399247513 936094468 255891170 688865998 815964560 708149392 326411666 170700367 914175197 582456469 287580352 706674037 491388354 133717374 605688200 450166978 958779512 452642956 103983438 873227213 563585613 636216768 129100928 867496636 330217362 678586536 915107811 535284421 894810547 302392104 834359655 846991554 569248563 473662046 153183097 657035930 649789466 384142514 106860107 621644185 281912054 424864706 602091142 362282158 839292875 183288227 135220970 369728724 283865996 630307715 457251876 966920820 495325121 901952043 220263013 712657598 843677100 586667782 633231014 755515575 817099384 654855074 482949037 933891311 943793208 188165454 136892149 674266401 188037921 285399803 189767798 193845020 616545992 366567494 221680303 785990738 635960762 169396646 991811960 590864219 286693076 821310450 536097817 712739713 247970738 335487126 241721649 244836881 756513048 753076110 361235803 716640289 936535854 647060750 300722392 452743614 125149903 680418998 539852888 936457308 977616084 364903176 320032389 385247912 608998769 155531124 227087093 468361144 659221279 229291857 491913062 445011182 301991415 909187922 646298571 685420358 453460036 702432104 384241071 352004501 991653330 283133846 590088670 887658873 238454827 513403074 810304856 448484209 491446239 381520734 185571394 193464018 267725464 908578025 717480230 505303481 667860160 789996225 561565057 985353117 210617055 492327676 532348890 287624765 388820831 355273583 598896208 933393803 888593789 341511564 363866510 874148331 621676454 296987560 620744112 665649137 824307735 368206278 526571359 557376149 588246955 132423481 320984634 635586137 968652608 736584483 850947610 399899104 555177372 160489637 726575783 730549449 285481835 766497702 236599528 878156398 103609610 103194952 435381407 675147308 236216070 954323284 596189727 336049858 834981269 542361622 893178723 129714036 131775356 644001437 788669717 495963725 450453178 328456671 202597936 693450042 922777427 537379646 614138409 652327131 300686630 113366690 532268604 946429990 802127829 916835849 303935336 271829824 765182148 425409048 723182852 860714684 290837545 679801765 958700654 542561059 255091409 298823774 654458926 831379986 607183077 559470048 575518589 614555791 275229510 710165325 529693242 643049093 423827457 743495891 394367867 863647910 815094070 978173834 891173502 617914045 238595854 274460059 407650810 275559468 888262822 747481191 359894516 257900435 640395289 558463979 542167577 405521712 690901403 460270393 958305040 917245185 331749450 914659775 151825630 764945783 909876852 712837195 116848355 545161605 523564041 779498664 458036753 356789351 163219923 258632657 175714362 944344939 271558715 755583910 190696319 353721535 765602609 386456392 160279032 578990037 850919520 498708848 555628133 352654501 350222176 134608233 737088659 992490881 619237058 472923088 801061256 846484655 756857108 697254004 800779099 289549659 438593476 778475367 172079902 980494111 814886067 596057209 328202568 156993402 880120566 106714496 718168697 573558064 289416694 139460296 744194295 511442729 130817613 518931299 923512758 892465812 208955435 510315842 831243570 310678413 881736509 887953273 508983949 145084548 552803152 261235106 793930277 395218476 264840432 148222615 646900532 219277585 630880132 749546358 763994036 413550657 485823356 720909527 894697829 234631668 946331022 808175000 582509434 726848638 109781890 506510844 739859705 325419020 627016855 697212695 583295320 402757756 526491579 813918478 169549124 669298368 160723591 153012414 483907447 583708410 561473742 977642278 916631885 330325865 322705915 951613893 381931695 831555652 659200719 782149479 903319021 171967079 302011548 379652768 636561065 379424473 163915024 250586452 924727934 886803101 254318811 765479385 886299913 533492326 590760715 224809985 556789620 560983927 906750221 788909833 869215241 759949719 911499927 219229417 313093524 460387796 372673388 161216486 275666585 345658330 886948806 155704916 290285650 430074025 471252025 988398505 240922237 612216130 990331357 743307653 535772780 494659397 157906686 302350613 810824139 770801256 259499248 868767573 258642630 323219468 756518421 357002165 443241597 313472621 333230212 974511772 708922662 564121487 321190329 965127068 669613283 519713481 474173695 915409672 278051752 431209210 126286897 556096069 465744037 721567985 800184695 138598672 742134642 483787373 522559484 205015267 894094831 499544853 745964171 281192515 320113841 968951291 585941015 796112273 207487579 151590006 541223450 719177049 558480188 511270360 151174479 991526841 234200637 826929358 251097669 111142810 150810911 273836511 302556939 116837765 216900857 265980520 130023113 952960646 710025389 488174111 436040453 916729692 465776643 105615595 788916108 147237006 853842176 926123405 558414399 101748175 414464207 566481594 239201699 892818878 817021011 172812552 226121159 204245604 576460756 135972252 500919059 762075410 645347156 178757269 193403926 787118976 477474929 480978770 434844183 722755854 228146695 778830215 867987476 441849447 149941237 698209618 468425628 486999103 126002778 604078310 940160534 140778056 831698249 290885160 184823292 744167511 247474199 745612774 918706735 965300455 219225064 118279518 742458041 486446385 326957326 737969629 302754664 218608874 722173992 815888000 846368168 753058833 738266048 958662408 691595207 760187730 348582540 105185679 424408608 138968701 634575166 165735887 477782483 790318140 932301124 837262641 628341686 759196087 110520134 687418898 519386207 591529453 115773761 170972492 812273209 280913705 362826166 460072597 542947013 332467208 867778177 119232135 350169405 495420846 411787896 179729705 678052483 247151898 797088993 739527966 983323682 749429470 717754727 373513938 900885963 644620467 476827329 320119129 483613799 692078927 486917663 193043467 992914753 515129482 820069528 224142082 870991022 161221356 939412908 246567124 987386485 398004786 520131615 829766178 954042354 992514005 222969012 570313125 723983406 659008709 800840416 981885125 480537756 484621173 602850346 684292930 778256851 474540495 892575375 887104412 953938925 416505119 243897616 511130808 229207825 337258059 828571381 367691334 148569394 568615462 184296723 229949254 918349953 904329568 230725095 659596430 541493951 570644473 399500371 766543741 483868228 531265989 831390819 362956912 506428068 705070914 158787729 977206563 588330272 110741241 510878061 528888861 677077801 570210418 604408354 139743132 367288758 866439500 200069230 438794961 224261036 165144811 154470124 918989234 976987222 114946668 859234688 192523820 102879852 911084653 388411609 562258261 990971822 590348598 785196948 702218755 194244964 931535865 791127125 461326951 687012911 512123225 966561676 278067875 452294083 465580263 148012007 407449803 517432521 107467753 214973547 479010219 863014195 312258409 676037058 266294678 728124229 366846189 590568966 529557485 700541601 457335116 425581185 750764559 212550434 881826955 726198543 144188292 217366776 528296857 473709584 524411750 580430285 898252630 593772055 850858036 728012766 290411828 554517596 784837290 282081455 467992301 308668655 963998955 998091012 745526274 289866948 413939082 433149958 691076819 619117861 279947180 448036382 718653895 324149355 197582592 388632796 766169149 995045526 456062543 809736536 250172835 147504833 458065147 178476663 331686820 174657794 172744480 630763015 242156055 341730241 664395872 365545935 479618091 452512623 336954839 316315454 758995936 376920902 783910338 519126120 877330934 361116572 479155651 484890721 658290644 276602267 211580476 834522102 904330114 814071605 812033340 407308153 295069812 576694839 620757392 253567277 334954976 104551164 200395636 173793147 912755854 123833011 606155489 442968999 991671499 922491576 292205311 561271401 857127370 611692976 242767009 664017677 680523140 867610772 627186266 453928879 839655281 134222587 884864117 629976268 922958082 519307332 324673562 160319088 930138257 435078587 890150182 861614301 156959754 269367679 694982643 549160487 974462409 371545166 530769212 190229902 360579490 546093693 909464543 575112927 633667894 442968237 771130303 132851752 700124100 565492244 996041074 632256699 658366631 786387736 438300844 394545521 158796873 722913843 773820713 181348621 278071103 602866206 555209372 711670205 541909029 185551403 973187277 339899155 158492972 682570265 783700540 657115730 766842901 417083627 245123102 268811619 262745712 603826385 199623973 134708126 451482683 761923201 965393420 862048438 126027713 270942997 252069873 179507168 329750789 840889430 133279841 549803295 879593177 227193965 105338722 355881765 877542947 274819501 266526313 216316905 957469833 978185933 933788469 693771638 871043363 192775645 478944032 316294798 791739862 774170334 397017238 750714088 890104769 393159144 189335433 945475924 265044573 392658359 305426985 543552587 787074121 441131403 225696397 757320167 310503832 373075644 132153752 623455557 227534650 902904985 174737139 217517772 116521200 829123821 964554555 993648775 381315231 354928147 280915201 826272230 771432874 295036310 637186663 546843619 140336039 718458870 419230718 511173244 749762211 201127178 599844601 184257434 700331609 456071964 450461700 488568605 279744740 988600831 736468132 338153191 473958394 605454067 215762927 103607087 598867195 206416105 178948387 490063046 360028996 877923629 902513521 661133618 401684981 364073208 291466051 939895725 173520688 819306479 278249060 771936093 766780689 545178217 411219563 621179028 722407892 185795084 255962116 648424063 115797385 905908609 952952891 694896167 459029457 542692774 810537056 964279030 138937265 901793846 713540006 329411355 214148556 102106297 342454237 220420129 444110973 968404128 134766942 699025643 527821346 372841146 551645177 906733474 545676246 502725408 685471976 328052786 151582614 419912078 319435638 322666473 504008946 347473251 852439500 753998919 823265772 607471649 298088726 203972405 523880019 951890041 281625680 480173456 290746153 167459303 973910341 972164989 971584551 529706580 428688804 780800680 153704361 671559368 512069417 710996654 528557095 413524536 281413814 733365421 902398303 738777120 985571484 725257429 505464238 185192217 392945180 654582024 204965324 207473587 849797405 189616810 112554747 753533219 666885226 445940979 813380252 459777971 214568330 541747109 935271399 184468755 946944639 933763292 503214084 462995665 855966605 711204806 424468177 631055195 399398017 638556320 844051836 275696542 804004666 870683379 967945486 443163665 267342423 274302519 828766932 742990239 430618539 414455014 489500034 633693763 283165304 854737340 865266867 593571044 490700603 600969167 848159953 456511456 786012405 909049602 780939733 559808307 682389802 476015360 525067065 669272525 386104126 747683924 261546301 928936009 269916446 676664670 139799000 296786207 433804575 954833378 201297483 401196101 978835272 964018590 213018458 691941900 148732137 430959371 277608550 245513472 688947120 466250418 263362439 326353224 912692313 868882124 395960383 318995454 977824887 654910117 145033665 277374524 495761321 793037499 581738856 911586202 944529418 496963306 129742133 822732166 560820328 141390934 124070545 639307039 849808349 500153204 690478603 573049043 472044076 149396211 385601322 945035399 944071435 531896085 974744622 769705875 170828596 966543137 315189517 697624659 351611292 442030377 531610334 133749527 693032692 984108625 497262770 656159602 890925153 335359957 402877309 445342553 458365541 862094255 267899693 217214686 773318808 166430187 459672493 285484804 655097497 749810287 774501138 170168293 953135716 158574155 445903330 709363811 954856085 264206593 914593780 887957185 237067268 803555076 597601194 670067025 379358720 889011660 353039854 791997403 424485638 191182173 958351626 462639343 965933916 103170415 898140732 867924516 781394035 366412878 112265983 592946607 938012488 774278688 267827918 863746380 324475005 532950868 760496552 412612160 262265240 736872480 340225259 867319076 833046398 752803886 168518892 146197371 503529284 424265274 151174734 378582642 118864065 200445781 326473953 112025559 899255836 835985937 267334500 533643570 669857432 899713343 401045987 356917176 923811630 571736161 479290455 455618872 715555889 222041623 628335606 694268905 626061335 512707240 719904808 475487999 524888920 855106836 367911860 151417257 487300898 721741539 413506290 996044398 490829502 393449364 234829215 910292608 232093775 649989541 292400197 424529090 858827905 558011865 998671875 737910176 210185747 194229093 843530305 345900630 264851770 458082065 326752888 744738164 701732219 476251903 730112757 872728370 856201929 714973683 500565752 682083935 761957999 683245926 101949458 870406343 230774490 806024186 789848471 501467724 442611742 636727399 214704251 620749842 311530687 128262395 497988633 644961755 996796880 215354074 178937829 906604670 128975314 654474056 905590979 105511093 373718224 417625370 675475135 265549054 642023472 554175968 390158642 762145797 401241079 523029086 928718737 452024682 491013025 939030027 624272261 815050777 692792998 355736656 168767616 712628441 307239928 591367064 896291218 599269547 741104507 326162476 315741070 200570669 826520497 957705997 502957942 149923939 611357962 678748726 909911113 331088928 255772936 770621494 846538616 104615408 878487699 579350666 764326374 763345225 229385435 552228788 417225119 266189659 226760604 687538703 482192052 986357362 556259362 464917057 118146220 165132774 950121508 972626787 459924856 485475169 984534227 969157224 187823093 256003913 941708651 334745626 859556863 303715978 907490959 234289023 716198900 978200194 767363522 896903352 865182191 924259707 174770503 683069768 319447739 795687614 818097540 831729806 347498764 177759495 341743433 758850958 847328291 575984597 413454523 585194756 298434323 357474726 943576630 811290738 652886940 287953480 815906734 675844465 507060033 774598714 484669707 495703615 808468059 391184489 130025298 395737340 305652250 480036816 504816235 229295292 664131794 778342676 450591936 711504017 826361163 712260888 885553432 465490844 296937031 702085707 532567065 194600372 775913956 160320877 551487902 756867991 186646962 751897258 469545105 288329871 153662203 705048203 575859228 958609135 295209143 848820548 653529759 160717930 441713365 166258572 116035798 982474711 424726042 147407991 324569295 148858461 873295113 524525394 154400766 528774227 367322680 826633857 526754979 648221240 505769544 177052197 417295778 431196303 587224125 329416895 556559283 443478434 540723173 614821510 837863831 911328939 681201200 291467309 916663203 261503323 620126416 872007743 326773899 791205432 236562792 513068732 450457662 778078595 316307541 330624531 726429337 329230015 911896545 183987434 547660830 255359574 794102962 506535322 871233322 501808212 951428135 269253175 213811622 738176469 892775651 904426085 122003462 875377913 103012697 116303557 284464703 486669850 590139747 253651413 110072905 393543851 637287698 701174810 139096496 488746380 122849212 692617106 967988277 318707718 947761446 349293723 868150383 771402478 648495925 700523438 144258831 688396621 796371179 928628112 917486001 244320306 171246643 282958633 458032230 545785507 468460548 659281173 599116177 553973749 534794182 684831638 632693906 161555445 359016198 467887648 444248523 919820957 696287687 590691631 648163727 689107595 723899834 548849287 407341302 689644494 507803214 609929006 688915027 138598585 269866580 997144155 208513433 108723501 558976373 197720407 514902509 533849339 651553890 181160428 825241563 330104508 445019767 560587854 720179944 922477735 753216295 172538788 205613376 990303201 731068452 667265725 881148347 590432341 500782264 814471835 238884233 150638865 598132165 197544425 710001774 973231477 606867229 877165409 816392822 600238927 874404230 569466469 864857403 536928246 810619717 988621854 114807624 632460613 425705187 550800851 605116766 200992178 205373513 611204936 380825143 196348249 375061984 393270087 422920444 286697301 683254483 689930957 915165775 626232858 745636403 718341159 560621115 884862630 716280081 858969130 595507708 310015380 903382920 771621835 284950032 931595036 843012426 139706127 773379695 402782782 686516649 143473792 187989065 284578448 503688157 182255667 428799734 371444715 157183651 348302590 565143131 974009592 265266349 706653395 648048332 944466038 186375236 486447132 959331268 769149941 595142072 475137681 126438506 166422577 792784691 840716597 268009778 506199729 742298557 362171425 694377326 212759869 804152821 900930698 724976679 137868269 306821875 300523878 456104316 130400970 183866671 439240191 177209889 486877453 852344103 923525999 997117900 244512411 874800911 799736656 771819763 392012704 405718603 769474762 619705326 324516110 459906450 483520124 761768208 886596246 204917443 911261251 764111807 165580161 996064743 725506490 403881516 641212129 972682645 208973588 204511674 595398474 589190530 150922997 387700627 388748150 607422343 564196057 687931066 229119930 873137768 269101692 221822170 887223145 205980134 349496006 331452091 858453920 211588936 633596290 166628546 909416206 530481631 187712383 663844714 708947669 600984860 626259789 231951188 212066674 682733694 893696116 529566741 545082822 430528219 155903331 690848885 537606766 120234706 818890785 806498059 490836274 648601526 662069548 360828468 977457154 178651776 439044526 995905712 514906564 471474482 636727449 683332504 328391016 287250644 990839403 412055236 520709572 969324459 914509815 675374425 694337404 181292791 827675501 476174182 965331720 453046544 481330982 433379998 900574571 760933065 524356999 660967399 429568799 445679462 835205487 629777743 564574922 431421571 670316945 169255616 619845592 233252078 925699138 778577266 432193817 543453381 159427982 787832121 886194661 785865725 480963990 604842174 887453802 913736741 388916018 107841421 997619810 659364095 152074495 117048661 486933884 875367976 311423880 257458012 758330086 282246625 283112530 514392665 258359409 655083272 278741461 557529100 341193496 588264535 474702073 707823548 273270092 227002934 784108857 690140481 500939759 329236691 885119077 134316789 418335702 263899309 146093295 585819025 335153074 919417988 175459076 731696687 987163757 927539404 547712839 276115774 246687657 866414161 503031177 252617462 228813496 292345811 854293325 615902710 301093690 133486604 936510211 271672897 675963587 782331934 730021641 445389383 846027309 877127491 683918421 518444747 739446456 627576744 142932764 515021249 242140477 959903273 144054142 572861263 671838934 724724020 904228042 219027559 862187392 506164261 895368849 802772331 221002887 820790228 372050749 531587993 768030483 288141507 601189219 939025151 156860899 216211800 852320143 566249767 471506690 126606699 533119859 138299089 699556732 794394351 252838796 732029282 494496516 457040702 415351091 731018234 520949523 690094741 885246346 651775060 841344461 209199008 958567919 553269598 296838956 879039778 319449910 773542028 476786786 732423684 727416103 839510415 765015012 116981441 968060205 791419129 463944577 193955480 380374614 500316666 981809443 660193273 379197012 669662730 141375380 377213570 322714910 612321705 192631134 288673755 532891300 649824312 373706093 460001383 574088138 296626566 221626753 646962343 876064882 911031021 552384359 296574104 935313571 539351299 674848143 709606197 260437040 543713210 101129904 671737412 802173556 278226105 341433289 601863516 355746680 680239251 211747609 801511131 587259041 344093143 752833951 133279667 895804854 143532829 430203168 200279507 710613854 393438407 503946489 844398814 438207608 952826532 233172866 930525501 281584137 456303417 508899467 967218801 973558432 425539881 920073117 208152396 683030526 516291527 871348912 676910784 942576559 500118605 324781439 715589455 738036693 378938333 118440432 701939627 480218290 108730440 849491163 802197506 907457042 740532573 758141070 402403138 699810908 691381509 397048316 130683810 517420308 624249640 600082826 392167598 977146622 747997132 456164114 935013307 493516000 209922787 297342574 994082528 718011263 386957354 412720147 605919954 434806842 372695247 354459944 270202576 393432963 994726938 247750304 384398108 812092119 650865540 506214102 737910232 450662340 568015776 140350805 831605606 295458948 664326121 523396800 663512702 214016289 253888183 339887863 219558664 992647731 440417504 696277593 897010927 191229759 594345756 533541586 676393175 122351439 672250315 751172862 177775404 953005543 150094444 480212378 552759063 655871255 150393571 293022192 715359503 818981769 796135514 203356721 345599472 693188738 331763394 862012565 972053593 489213751 605632591 515779437 303320427 395886419 771018822 405639915 962756997 900387003 154329412 194661255 631747387 252415690 306683067 930664380 936398881 204715801 878593126 283911645 769120517 212039414 534285819 185894770 395750324 209512627 265577347 951454682 540408377 868330272 316759763 317328607 295267013 702746206 166118328 949653941 431051318 241848510 167285542 684012065 244366177 649292903 967593185 545012112 271386519 458604981 920072004 171263853 381036282 270057315 570435151 643041799 194319617 135771812 336253860 198689242 892407123 137613459 451832767 103392253 915664025 929161912 278225125 366894522 651739175 653469665 242421581 929708912 837641509 630455015 392800497 188044788 808571046 510117784 458917935 350698742 692113856 209723977 332370927 976848789 512950856 280882760 266274974 432909446 779426406 499779932 998759854 439082875 907691247 151425334 112704484 801560751 195317951 510856445 850413296 655437958 813333459 277200309 473969727 100497173 304210341 195879562 460185814 270160813 667455761 605437786 313385054 421579902 816452702 856755488 731504253 356716044 469123923 857162926 417189653 912455456 454898534 512217297 596602812 816803591 956192118 201264405 266885706 982504471 108302868 650013919 701479983 647029471 834010185 533226098 652300145 932253600 539164577 710571338 215920150 787302132 533634579 319902674 548932181 744660167 217511760 371827662 774577068 334421256 157267775 839254331 761112226 694098211 483833673 835607970 157902734 528052174 463832446 895116926 256113766 278227469 591478063 391643444 857214087 576950872 357787332 521838397 416534099 699436108 833940719 770546741 950266568 600535125 384867080 674072556 501404918 964552369 951512787 780122175 791238418 260223970 864679721 969964710 583915096 839009486 600725082 922604964 268282276 966864415 733698749 374965876 574902209 649472991 934236052 889685301 373491235 484832310 516438842 841373571 510742192 499276444 915768368 654943666 593357737 690831403 199455241 350879042 243986321 135897017 470312356 968994563 573623385 693560975 407626874 465979233 440034724 782389546 473676373 994585020 410080358 648315081 220709247 333226872 668749109 947494804 138010343 579866845 362759611 980138843 963920928 516635755 783724719 786129867 369663483 108137188 617713420 208650613 672011474 243849532 212205507 520025927 111290158 503958555 177715535 196840492 861955058 399100266 934134741 653557165 958981436 207675322 808419526 598923510 595166191 326581942 608858756 166364394 317865900 144546760 226159753 456656586 655840899 260145432 675370821 212534450 447377259 850868119 637878488 875349393 794598973 843611474 405891339 224661193 212525799 442866562 953722210 783512274 777549402 733170864 825806784 602749260 580815012 307287803 942878331 329458428 503428703 706787325 270147083 194227999 484515420 404221902 533513444 490553225 871817209 171568502 815335773 842604209 771259400 111582706 794289466 448311190 584942852 302461962 722345090 664524142 831780277 625151060 566742079 614516822 614325356 366632252 441080463 844473085 125348060 158468005 554776913 552507938 268694908 650054268 503685163 491603068 585445236 866824531 139519665 703711348 727522214 712860438 959000982 150449042 155927442 575544667 398655815 481644660 593837103 793707608 466780148 580831401 372187085 538709857 878293252 153666380 728870719 589927555 510496428 128497179 477422142 504359026 652713619 617677696 107483470 903681188 803436652 282969020 505483042 460316550 840159332 802499515 252474074 773569453 650473433 444835840 573348257 958437418 763569761 823887420 898575662 602600228 863462500 908937415 489167437 350234873 100353058 374707960 178616380 652496587 270102023 446772048 585571599 172489902 949221104 968696334 909835995 216637023 169362109 906347357 689372346 287468340 687688685 822454662 691664695 513506216 688813995 558269245 676508225 656202330 195182795 874774801 523079812 979441460 354882450 786939376 348695295 614359919 521831135 763478609 807275798 962442103 128994374 430787207 438233375 769294246 962095963 161137824 441149328 263308042 113791369 948706896 414422136 377758107 314470093 610867649 415449237 417532708 798724596 513915269 238505467 696231938 190618401 714763874 670864688 556130881 588834629 149309000 111327240 371792383 119969852 283127373 138224079 474381657 423819105 452633426 132698838 660409357 391765403 439729800 902175068 700070470 458554259 359866033 390949652 159626526 146064091 568810637 565742209 650198713 361198173 909299958 809547625 778245845 748501206 281583637 643686774 825259890 500590228 601371575 204839403 405756235 342249256 194123214 727363529 925268029 206094858 717775967 485350008 424107458 929927774 815742191 116479969 444845975 898713618 807302580 936930900 941469278 206830696 946819910 740017197 969919607 588035995 816882571 652912737 300669785 538074801 865633150 818979064 332976187 210391826 222276905 665617975 672320813 558874894 367149028 955677006 626071236 705574876 360635216 991748511 624283920 429985164 182279016 997479018 532848580 475735033 435422454 754759773 164863917 888830139 922224272 454502438 369617783 118748553 783678097 399291999 493025504 274053050 958236818 709685450 518165384 942855439 763062525 697301077 339744855 517141525 731825915 858132480 509942569 758282079 483103198 882615081 349893426 874596544 742864464 282392767 847015617 366732804 433089966 345057181 551436522 882238324 228953768 582814119 663359224 873838983 656644579 234280286 319801301 287317301 272233512 868760778 339818210 740766020 537657864 836229752 928144467 600156213 396119812 795279836 446881442 824603699 244365270 277683253 870462391 348388555 823558709 871362356 812813746 368907645 563902818 155135271 843368119 619810250 702670979 600223671 227443810 590763058 270660822 256172224 468273769 599740257 663865753 494748513 368916893 961971004 765138764 412844352 622471054 756387894 540432196 556166155 137543215 100926185 125306402 383143090 360875889 386580373 462484873 722248239 966276562 932607139 425935159 539680326 442850934 849557993 814886208 162525304 698210377 952076514 291766362 886338068 401602351 925905164 778981256 349100727 934830140 855192322 685867769 150785094 868364811 545947370 112668897 432687038 285266688 223457438 130399147 927741717 551408478 631770646 457146379 107597847 927953534 244937708 961432860 318179338 820020889 703651429 528503599 837959694 994198749 606646310 981078688 622812789 599355857 584361207 616386349 630733785 732647034 694903423 180541313 846141098 604160415 433383389 452078166 628260833 162440182 709708564 208295442 890772708 400183186 738371043 279943181 376493554 296837401 445825585 375568662 117373432 952064446 461757039 697810436 137234324 614304196 171808680 276814990 561463606 341252162 687697890 552714126 237916477 687424666 462999728 449898494 992540204 579149553 655617996 709555087 736109593 253435856 740982712 109900095 382744768 560301307 356934426 134828292 561121185 368127587 110049394 186748529 106929589 233052466 643999113 273346763 457790791 120780868 924411586 494640902 715453175 615487619 860035688 871651974 607946148 472790007 324286718 904675077 337512657 723669579 659310763 499397705 715736205 536800142 164698232 220652024 159098710 918552337 914527920 557277006 489017131 443458275 604388514 258563560 934206325 425490159 138997523 604549712 874389197 716916011 943206990 184878098 533752094 246291236 776324459 784979563 218572264 581744770 383812568 476334238 437050958 999086815 266139110 302135631 648696832 435598454 811380242 528214271 411667797 557860450 206471469 624446482 524139585 492853137 285956343 681916604 242072782 833297954 430578001 856966733 391063181 857475135 212713255 278973144 781443492 743341488 287144994 432326364 778825354 686731514 226678383 577550562 987536224 532207364 734500359 651587189 179122842 920562189 922219380 169127130 808007148 985579625 605704610 922947870 653126391 971887482 951561439 399563791 765269471 103760597 386274470 192114061 769687807 128753920 176498561 294377158 841136562 898298514 652248484 991318500 672326264 319400852 573369986 145891546 227970099 330058876 708967691 574119536 431787119 346061536 779160645 746897310 939039601 740131430 512361999 533492947 877142253 284845536 282959181 707645743 754884081 239666636 337497752 827706139 261776311 921416743 274692860 888425048 620435532 200095026 531232178 863440682 112814075 626747919 992924705 451219993 367694146 227820101 564139559 146235797 230593791 302853337 526326389 334836580 812641856 334747676 248768283 432315811 607475771 954587366 519475090 911251082 774263331 695399075 711475561 606246097 190229091 193072759 583752572 975558785 500648437 824157625 772887535 678324639 914619760 401278724 551229603 727309251 123024983 169476757 508729208 493124623 253874357 395939579 541192539 976298296 243176017 978480095 399674457 785158708 468178305 154684177 662545935 656116462 242893389 468594619 257164468 314544620 333735738 627218872 502819723 521917205 773726108 624812340 655099906 816840864 547368367 416666378 185029664 551803866 946974524 840303553 749993812 347073041 985351865 931817982 971459121 562003096 286539967 231210965 415039950 596365777 799071400 699864970 529736737 345507801 981158906 203168407 830648336 141895616 967059791 579891966 594212872 973827259 808724088 192685678 704841830 159578347 991005157 993872650 597521252 881664981 988770470 852902174 188484813 959911593 930377913 172656848 723702287 920936246 600228891 639733491 896389088 475327659 480894162 787391529 338003353 246307872 138299577 597273939 182313142 489879053 748671609 802557178 454338728 827956495 270611645 493651737 702394863 879668020 575749057 662039788 726601348 330753296 669220332 514186028 625493247 572695151 272655783 673191136 505304986 305361067 219096209 800549643 261232869 316220386 895948685 785603712 691359049 305870104 639923706 773753867 990294304 126230161 481413875 937984164 959565179 319093753 754536585 272730179 107101811 519602005 109954403 262595558 277968171 451117235 777938055 337407499 341598882 870410585 319570627 960088279 119289393 632214920 963464003 858720734 582507036 835356801 802194094 917180141 978132140 231418106 685319612 352045238 168984899 141238697 979277401 369124631 968154892 127531465 500704614 997339824 894261997 445275286 606168834 842719003 479474847 906646260 547882315 990913221 349759328 740766433 883349897 221172192 157777222 370777657 660250376 638091323 705698618 768401254 346596745 136792335 174933251 219243076 661641591 329521432 874188097 217065670 865673268 854147211 695608360 201349064 989208213 684780774 793227094 949171069 139163838 740040871 566181125 543091060 122736294 569837593 590159864 631655076 140289112 575073091 699953504 623603044 918505950 630523261 531721640 465458506 363185266 147316179 434196943 249650345 879581644 332817675 494149566 457776504 792913407 364423845 995264105 854456110 883899696 356755987 235088041 497413509 833310384 623404614 950908249 452854017 176767783 635995208 674062847 198674449 216218765 973648249 403193842 877755694 571497788 779101710 278988661 373916536 660887794 624781284 749367198 262276881 539883366 434850829 848152672 226936989 931143557 861827185 574729125 784668711 940040015 514148626 443198322 763176759 743018487 815550291 560166138 617468157 490417649 989923759 522372530 405606393 299986810 222030965 434732632 726829877 636698865 714763910 321718327 551011248 723865218 160194886 549849434 531633245 486112654 965057511 245775243 400055470 980136109 868115785 623774325 266271049 122559383 962450447 952144512 404006014 670757982 382722750 133701956 746398348 246476288 873169820 499069654 299102757 182428637 950406189 684921998 753208443 405167225 930166015 310919512 295893298 324960851 807277075 960337567 291645107 264138037 876014735 237812706 135927855 937643339 999215312 557131062 134764202 347078309 404014958 775384206 284335411 375416156 320125723 182935813 917242065 973098159 828364990 205584954 170005155 608586703 559671910 689560824 625644311 190366967 807349504 746026481 229618870 455503695 413493035 195039786 602332344 930333241 200973265 354156832 563205702 400299107 677243097 954353358 649635680 899747612 434392624 576544515 837738381 162400458 700442613 304881221 108672149 273727297 421991894 603342609 590801251 318205033 654433019 287721841 837328084 252327473 457204788 764107383 758238481 838309216 216635466 309218389 101415458 717292782 987904322 971441014 291653497 290984189 342280826 993374747 297659690 547147983 912075505 591693547 525822202 326122028 756635563 977711118 387932807 220089537 806838018 810511427 115726288 378643743 655711928 474348973 221322182 455049905 850169475 146002140 118285022 477308666 945211682 356185751 478781904 919149181 941208565 581564156 475454556 485994587 595421070 158550220 991344525 810109394 558762101 794503128 208642414 716414754 628465391 455750046 549640796 308905585 677712479 991974362 787574229 303995514 966893197 411166017 942508354 132130668 820812414 345443215 687911469 708910182 656113415 996304292 355633731 826643414 195198752 468952481 778725031 954473126 356283235 650950895 818729771 826692258 453539308 414590645 201319176 493085081 315820646 804575618 127619244 544368929 264445509 410713265 453723133 665913066 241866015 633153895 312196082 812769098 296253773 996341190 671160684 728742744 613670533 548024522 204220854 615196642 177940414 889974564 852016577 759588495 248322629 884439173 972102002 729460158 885752532 858113623 694751334 393434131 210965138 390950548 916322527 944082941 886502165 871658296 117137617 302687641 776958092 416819978 287480487 438166891 705332902 123730920 151365649 277143171 443244694 829558439 851902336 336964477 962325476 690536856 599354891 461113869 729182011 511410940 173731510 622832902 632986459 348996911 599889173 364021647 141352678 457836385 648167344 932053086 850665114 220367896 676355211 938939337 146881034 344412815 620353465 922415369 339225502 349854562 181555049 137183734 656779995 172310928 518255972 226661858 899545128 569951714 651289058 178721964 336465214 243308037 873942861 410336933 246509105 433603418 222705210 342460519 749169850 956588074 397481798 617459639 748188209 712867480 845566330 223788779 790052142 909798105 642689690 410780587 854475725 736129699 412340555 535329330 279653692 789994896 505942810 171208297 536935344 931483690 924142861 850272853 906121931 122103727 252513799 211538450 197055480 746021774 875893018 328716164 279894012 359197487 893891158 279862667 832420501 482132297 372468953 766848134 532949840 199772399 844450948 343245622 558327991 843112265 966021724 496027445 229308456 879719053 892926618 176394145 620804609 274557068 308611146 109480909 851870900 364875646 937602874 492325679 945899748 763513033 984859987 393688610 916092801 452083059 327092647 795746291 601166454 690073482 115709238 687982730 109184530 806074855 649709783 910140665 654021601 813552071 341964762 934201281 157650112 138398286 641889845 302023113 655743658 824722447 208808246 261678440 459623702 661557876 134689573 384596506 981399195 807853039 556786793 418691608 190419444 609973009 279169504 766263540 621605193 396398605 915064137 561842958 836082481 547411492 885237303 663734190 245150336 398229828 798494655 514146188 423821458 836677049 448261786 779731357 699289147 989011286 666542193 955624197 764530271 992870455 594725971 640601226 571038623 310018811 862182865 131199112 111625038 939295816 266972406 189147047 527820905 778400614 298352028 519576996 481528222 787325382 208056477 559114333 218563705 395996490 805569157 201689057 339731352 967536824 339596553 308971382 740261163 400695836 239144906 581775518 977599788 106316599 188820131 281623871 388635137 485264298 808629146 423367831 609750964 979604680 150472538 342738916 248753939 659107826 523697277 154204112 118416749 552291268 599542882 411523330 362998947 274605002 909195110 998270623 434287647 989197546 918164262 770624156 413208329 319588679 304718647 101457493 702281629 203090236 622131021 157806563 930804175 300461794 394415502 515701764 398572679 584197804 260671645 540326116 115070396 637587171 936041721 978136075 565129829 573269393 476776806 543850990 852808003 329301081 238359163 887722733 338838540 321773960 118820151 946943992 277471548 355846083 376020887 496287918 848266327 218002866 171322108 401890977 549923230 198778541 450086390 757722113 276600832 940847971 423978432 274734402 664227878 232918557 519923530 856091677 392316128 486701143 122698683 842389747 293753915 336228908 781887198 976109599 275465985 212685558 582240920 527859763 268482083 725699405 436355912 361291769 258957658 507494159 252336172 537790394 297762287 267467041 406073317 297490255 151541568 128461832 600910275 915679899 589984426 113771871 558643729 738934512 280045039 585025226 412110435 246967481 619835076 522289880 749631768 400521593 923022450 131733547 344990943 408411271 126802989 896591839 307716411 179938597 286491839 745105840 295455540 231299306 424698479 864819850 308251240 345047837 790521666 823437595 187961101 589564546 359907376 391605365 324651700 319894302 769576421 773482007 747312496 516418594 247667138 401870783 653161679 127130294 948063667 436161388 997211589 957443809 861493466 303374374 472680028 593573357 674264633 990841351 845650839 203725609 884187914 527495324 945237301 330671778 475947655 235367754 543582651 638145409 362504611 552897682 959291426 446272993 446781024 296946039 627919642 422170146 247694835 206745651 849949949 218795403 113524754 128501947 718053876 511214379 378324559 352731996 561201885 873798773 581928228 701809916 845328964 422834445 960696689 418428974 884150118 381134294 126260934 267752994 788051518 482406268 684022853 237697012 139126518 520234226 933168333 363402798 991081834 831188736 721459239 453449086 479495235 305678052 963532863 211922025 361662685 757533791 797400245 273505528 723663945 100769032 715213580 324471558 628169220 397552119 510604239 811273865 552542080 817493338 292130619 897796748 356614797 653308868 547514352 651273391 499877778 322575693 886306476 452229768 850377549 171227123 936001227 908102299 436880324 633443120 863105270 347720104 843008563 335231307 987231565 375751394 668820346 196790382 709463062 969503823 866570274 463051509 163768249 504186069 745065461 101128938 918672882 774725738 850133107 163828574 887634325 698853371 570174284 704179440 678783798 600066533 340241621 139006712 553035223 442850660 459769030 911740853 180584345 474616187 316084699 584170843 363329941 961151199 408551872 276796247 782714989 574676260 716639106 391002997 817132765 793850247 335673017 388095996 712550617 478727472 159133053 415268301 840483624 440709969 403278172 862865815 957640867 851258893 910667257 409278651 807167143 630204392 305794836 726453986 352571249 543364199 182624095 595868434 440932251 556459049 912488809 671433519 316481750 160788877 227277652 832774194 172347800 296199177 478802499 304630642 639493806 146712516 835406807 423174070 217679943 466809612 666267591 568592832 702752320 988396587 279044259 741382293 321871361 124290255 589158647 148921273 966388326 152719340 449439464 817388323 338177952 798398191 408197259 773231204 103075393 786659903 354903444 819964855 686738094 576624852 392583565 801475598 849136655 468481802 375354011 543053541 118232682 115470559 807716670 674436024 574990897 280002895 424035331 411989948 262949387 654366526 963499026 420742870 557110417 825936179 326149765 632605576 438173343 472867273 616397408 358583642 725183202 391168667 148198431 183645617 159769899 459906354 760748519 605802384 303559940 317172210 860182546 887329215 488718582 500714619 777999937 316175358 794013881 943646303 645201517 730627694 844790810 749512316 478171896 713779842 712158943 845910274 565143792 119183775 237535130 161853509 589133312 665317965 621045913 869199934 480582772 675749985 636724517 735983648 587921162 347995450 985827465 947702070 340452992 979773323 218057609 152258965 903906368 577531828 842235828 757575409 320446986 187069352 284558205 717448695 849575462 439297364 689666602 754561623 350067010 923225535 699492335 670672161 967122846 309994005 700087991 104347589 772193476 492242706 133148561 476021227 782976093 609267912 956823287 962894591 822300011 210444500 369393704 926190340 568610067 326984178 203456400 783120029 252026255 292092915 971317773 394364127 313500257 361943623 285464813 701594510 966707630 909316119 896670915 905802186 579145725 829793906 836712703 763886746 636353240 570828114 910232597 916948006 528223125 949271405 695608458 214677885 699371526 362204624 651286513 302694345 107240875 320235300 959522195 584113333 794995272 159754076 902371585 149348019 822820182 401482620 823907186 855426270 320576630 809561528 151752572 490580407 666442686 679341792 463523361 210897705 826263753 531217490 215562090 155389282 576761643 726170593 756984482 789136678 496033918 513327543 577033865 294828286 980242959 308689451 569188816 553123098 831458662 318672634 138393171 769095726 813460770 935881933 575632940 277182742 681804568 330239100 722521901 617801558 956491071 181079403 293036463 360079457 745142503 465426998 146052950 764780566 779402503 563788459 514981396 337182334 754222113 693485932 756443237 436534453 445361252 907415914 259777424 444868905 215698338 716437718 552202871 749522159 241149335 875603781 959281523 654135549 969072028 724097778 311503210 899538345 764994976 553484581 749962048 368639739 988986434 522236368 332516952 972998852 264546580 438730045 483989719 580184313 832176119 256513175 186176207 945292850 153785919 713763689 954507168 353983034 985650559 128893331 724990809 759232891 925351052 465867061 730162841 771696703 214609829 989221482 751035105 372069426 943671574 190540084 191436931 406757773 615998198 298312556 208455714 620563848 745801556 958418887 730428260 331301004 535105593 991023782 519011401 750046752 655511023 612133515 953637419 713548104 997143382 375057893 572206896 763989045 360029827 715195150 152501855 968987568 424445841 867318648 294677836 461523841 306579080 805399605 355982581 222485057 901416078 126875406 311204150 346056477 707619411 931121771 709046247 923996530 703788906 715683787 894899507 974435164 598610323 113072793 929325762 135628155 238128254 789179970 177390450 199894414 506431572 326394281 700928752 659680654 396209447 179815417 164681237 109865039 211751627 479310927 996081965 182837566 201458635 299466461 747315750 464800329 457481355 724203743 367180748 559360853 107254230 178940024 659450238 561963857 355076198 375146581 374096804 805976141 633070612 269783706 175797681 929303790 443380507 478182958 518728475 547611684 414203055 782330692 476342843 894315709 233547841 296319594 367094313 426630288 307428402 792598098 658028181 731494314 830186257 710568710 298911446 364795402 948854412 956668215 636074750 498396429 601167160 263813953 148504422 617952904 137355399 228839212 937078492 508528474 732521210 196880894 554631919 684474369 383884080 476332008 441284509 591325290 450520983 156137385 963716998 739318478 726656018 368188944 374134259 410685424 747723306 922607969 498165238 919300984 705068162 732874462 420035292 859810696 154038421 542277021 901682516 240447110 740197780 373758757 879925942 967006798 399260061 438387824 358672104 262923953 971127766 692703787 217422971 986378277 727905006 730977663 380605385 421656553 621156388 229306203 282273282 396008367 499599457 240526498 494220082 979589465 717203040 261288661 959549970 912104399 184286522 199335311 826694984 935593038 333059380 418960513 315594451 216518490 157296732 746353706 563543514 492124629 421960443 347971351 899803366 655714875 451505305 424920785 760801499 459157246 751343012 257032590 813927882 419816936 588340204 371482468 923083699 289447844 139535827 852301266 842808840 398587034 248749740 274360682 252092790 417728151 870673316 110127274 148177369 714808171 245374322 601206768 492801884 846284947 519674995 598399148 721345764 590511207 506354624 701279438 911840597 191199381 636339503 753388720 230266808 499166570 502406626 464601598 514527055 993506320 299993532 715152083 509723820 888332746 732423246 326239099 574755420 205236788 286378833 968720964 109262312 782586952 361150025 864328653 809372259 113040827 828624589 620275256 949537126 528622278 141248949 904357404 135950347 546261650 212542135 906916395 824715387 128768211 124189011 852986339 640954560 442295883 227337202 902227697 169589926 807963466 201462409 832733112 336699212 466687802 304299146 598388710 230667514 631101239 808360085 329836970 606649802 894318912 160954666 331812497 456532692 547318740 703212107 179503989 739922152 268867356 964738682 782097932 133033895 876194889 628436846 762871811 141290519 750207704 988258778 393889615 325555625 881039461 569535264 597828569 764530926 177361554 953949843 355089794 561244515 960106568 458608524 148979020 334499337 537343257 357249661 424208924 708437548 133434802 919407974 210697155 961856996 762129086 118420026 845780850 534685471 376038128 816618539 291312831 595040306 949774744 739701019 258695540 659809624 733952693 912044044 670878528 688518585 824300164 431164417 310064079 132303611 209120046 429177246 129963235 298941678 176109755 355642667 209161367 727343445 210607720 297578668 867762338 939949375 433721232 132216723 600034838 769526585 835906191 429346474 751394537 312849219 168658902 400457080 405653583 747160083 952693682 534379002 348091537 804077245 531812519 283708988 490112099 158869535 485241048 983973365 979451876 476463732 275212763 887865055 752580951 939899801 285365226 173830871 248638887 328342008 952796551 338958303 331838627 516289593 269362250 583014923 960334234 993087838 291620377 177977500 851754433 314232140 331007388 970692427 443626653 945572890 402579215 431874098 453383430 574084915 298479800 419027035 495358920 411049801 465183744 646122576 322932362 749343884 834452751 833931086 757144545 155118114 343531254 455962475 364865238 660049196 821327235 308214369 269621324 503924859 848395942 204990721 455674130 985621055 210537426 702928439 907759235 652015175 612512425 564127416 699011634 646012978 351217763 198739814 862222653 236977720 973775311 148876671 474173386 753947620 657909790 811590592 642586851 538882355 229321131 940089493 919683163 188180799 258755482 132112689 524824263 141813809 500903909 651239379 248497882 355909665 373872058 361875195 428244273 605981777 353861682 428711841 626225104 241511029 747224987 198044328 832835071 178981501 367634617 483660097 578170330 488402630 233069518 114344523 725576519 281255836 448835152 993724888 381842294 235695282 584769610 184672374 245331337 237626358 858142697 703915312 417400525 324553562 387442919 552429957 594125970 805923228 621488235 897477940 612638075 757305560 612841264 122252458 606892329 257571662 382384852 586853287 841763445 748779645 743574683 466028138 512824704 412173409 599385868 977571304 341118548 663344723 337123393 413228814 541518272 344985881 446064084 668504704 715413774 135324608 409319742 525181274 660347575 180649952 523020061 965968072 486880198 922647491 847080891 148111950 219558215 539597025 879746154 422554669 981821708 310374017 961295277 772989622 769076478 878449030 202583870 130626296 146779860 795269428 136462525 641035456 150297697 848302134 996061058 945392940 397057793 899606167 160349112 654001991 858479362 687249547 767503907 801424471 360767444 309907043 247120282 332064644 104290232 153281049 917628860 761154473 899668891 532462245 910645451 449467381 351312696 975177489 383009203 120957647 464683451 225398550 602163824 450021822 360073976 956963250 559032377 936091863 902972340 863699815 930047831 613866694 400387576 723572958 222057237 515708976 621713121 139507184 318867304 286504620 707769177 840684999 762586792 982642352 798777696 562152423 523336796 174563154 869415501 637753088 674576395 767205683 226782879 694954528 921552542 872710894 274909535 588134810 370231406 547762684 310995851 210465213 590381018 979301793 620460715 626223822 822552468 870671755 109090080 169938761 708584666 335331655 359282457 773946828 728988017 610989877 915004509 531076195 783290651 505176204 873074960 219768309 242222050 617653487 131940293 523667839 373151968 306375940 904278167 600908739 975729153 553323144 681637994 204118306 811693472 902651856 507895338 661289796 107859887 286748893 798477682 518240968 304219551 639909716 745696776 193749292 641068987 254687975 709846226 822009398 344261063 612019871 295078248 393994844 482411448 386101112 929936215 644741587 781905685 395618717 804346001 730255182 235291197 218478936 625459432 670537789 144766984 665234457 989632904 864594414 196029166 314582053 787740017 650842207 312770291 426979695 689803799 680990691 523956912 599243736 485227484 239951578 893675380 765114024 283860068 222495029 373542491 652214318 983222678 113081402 407924434 378723400 963418340 654499005 688276689 912983676 505151353 858363995 525860560 453228840 994044394 868106267 709946760 665747750 355283601 458574625 159238307 927061005 772211231 501111404 503806871 811286327 794133804 822561116 117552429 877112522 630967469 494034404 490824189 289666421 919811540 433325966 123041770 810147055 351007852 823834703 404286818 551565902 757548805 261567887 237434342 170946770 800916382 427747766 942725761 883174452 470196080 137898447 286503300 386163119 474764301 666802289 904583124 246987650 266289958 342256713 982195763 438396514 459418957 627942204 941133599 219990102 880755227 166973846 260025490 673545962 650953468 832486199 244757340 724216810 925557069 344872091 642659847 436403141 917955591 860695464 861653081 676931998 928372230 282217203 408155092 738967242 177622693 423418615 757158574 750686667 875776934 379045877 263057146 579429670 855753134 998703982 728293445 936035945 794368432 913019295 758111308 835288072 359335762 923538116 960902282 429806349 384793443 351947992 472133161 541882061 239637820 744095621 740207077 436911220 424669187 690166956 541319586 534532905 822086637 445060685 785204942 281960977 641474697 490052476 695784652 597687421 111990355 958051579 160764670 447715044 452702554 407391356 833547677 942309142 714841332 889435094 989809186 419091403 783677674 915389239 990582271 376671847 829570937 694627062 289545957 780580134 575136888 267822673 633501338 363359529 748384394 981582832 773581664 949130711 309051046 485476566 332627390 511902999 790155819 295233601 705755579 185676118 302866376 846229016 345709195 362527911 359924696 854681369 443043635 467113657 691030297 145127409 224568175 337231973 418879238 518369549 538995760 763385370 199964940 771490193 144256701 424180426 634437873 208553935 251947869 939783427 421557525 582996390 328784611 802515414 710738160 159454791 981367354 612922224 736320439 844609745 807077372 406663230 599789531 699225454 729908895 630579666 153162552 908137208 210263932 212321415 205565932 739213821 229133824 364491842 173254292 678890602 103058379 330067790 876289477 225042405 973566102 778715311 933992215 153459893 705323047 365189253 907596011 446135768 869992647 932794333 554585280 741972006 949426085 773332539 304261133 506280150 636012449 947700462 159327373 330847181 946391373 635428114 539001929 416532871 154293294 110702918 771838215 787384066 550634842 183013930 282299561 654352673 591603396 577483844 965244706 992762536 925909491 940371522 718694789 234101126 229112035 309450916 753852501 250428985 740414455 319716186 359833584 750406206 615027341 669681846 327902486 566024986 186468799 612913518 378577757 882554332 881635853 456817975 742152942 111897140 863507274 347085494 678010599 772832146 305737891 873698064 328205911 498183947 944181116 386216043 863898612 390390625 510828380 770469411 170212770 858988533 188831411 796141600 873820409 944229267 626647638 223334180 574496419 216521501 361202055 156660605 563820468 550692570 524678207 770017129 930407717 188151879 133312467 510561597 164666785 969897149 851978651 346068508 273925821 919686013 309571246 458916277 898100435 414857676 563800424 391271112 851823793 433019712 739954665 298994452 860150801 140795933 784158464 634398624 685411166 842866652 716475488 135103777 463805856 406002678 272779640 571437029 283581332 146632158 705711667 657186685 889575474 343889100 197420656 155698325 213237275 213364179 375144237 294492579 159920782 274827381 216345634 681798792 942920080 527435090 257111630 734296524 611323179 674531768 808215822 610315192 776409010 367608923 659327168 538450821 670061225 712032668 272455720 267850811 318373945 695233053 466270697 986844438 263916216 103187852 823829358 554476494 452749667 895876891 166568264 343481239 820254073 346563675 169411448 481832737 410614478 266752683 880606880 660202053 400502094 860842836 750455635 188784593 722360701 233687161 570426913 530062197 829776412 299276610 416155289 950604540 223306676 478855277 508040527 757717448 315725887 198122555 411504535 870183403 974210195 651399956 613633851 666994146 720829869 280949337 477776757 230192555 497885969 803223228 832545251 319553622 112007558 846412899 354207648 524366443 836968851 240168900 121711987 344623775 423159537 507704682 163907904 740117095 719985702 451262903 369388512 851529268 515018619 370932181 400832647 730431102 273252083 572060923 793614221 210566425 889808433 504242580 706214796 170944350 155862795 750395187 932743110 962973908 744138190 379711767 663033769 671920656 457847959 435923183 505110944 250417266 160970180 432200121 390215139 193679475 331452786 941988705 935328015 745972396 907743158 576785246 103215595 752352693 844137945 289330760 800013639 134341999 472654245 279550065 280426319 488476644 878159326 568783255 272529486 162870116 495945546 732199308 998441453 473654553 205291246 154533160 978196873 241257687 658843263 593384164 882812670 152709199 412427394 436355935 320671455 767884062 311532279 141527560 946798718 350718218 726295222 733485999 923911240 254347289 432561376 236577194 888945766 887718277 790519822 603640339 365536895 445011766 389362387 365801944 869247770 855284703 990612871 402586804 310664395 324753064 235925297 545446360 886906552 512942966 652958250 595509901 879092297 374636562 820943781 838510642 648617779 926421496 166551031 185857481 479693183 841654799 669682195 565675062 951550235 853274804 999150374 938528456 868420870 556791855 519545487 435465718 522128401 440248413 101702317 973256116 231884277 588629459 207050912 127188072 692245876 844149829 843545003 241400386 756486110 978219853 598526596 328486819 750987780 537366198 811410883 637189436 185947588 341624621 391383917 228662462 223820680 387383882 669848350 855122910 879322843 287214690 156523657 734124279 841265685 683472222 542289103 420592776 417392180 126220485 173215036 557886013 310354437 967734242 765969856 122655994 510824207 972751999 987849009 544224870 518885552 489330369 391802035 614275791 355241496 893548258 117105425 790003171 564447825 518275685 811635356 422837871 826015743 439785505 404780255 175946835 255559453 746801621 962164801 537528996 963131339 345431693 208367324 790613942 915061826 677552312 789441211 551418180 995406181 513616783 188640920 986590648 604633462 871174649 987810988 369341228 872261290 477808186 927657259 517213128 114180912 188904264 582252782 367592910 100421567 220301190 330513643 560234417 338247656 193234105 833201234 728970604 996378632 426804013 722343108 432543504 678647702 228029148 683556979 488997026 607385273 909673137 180713204 904102578 529358149 223198271 487814407 543907308 264938714 478959322 675936863 907354413 427078938 304089738 360903622 837378095 204117619 669505662 770443718 465935808 690433546 599578714 702834682 682387505 106172773 431275586 131733968 858730503 554258578 381341213 919032045 581602217 651239475 370295134 933225865 292143635 173286671 392927021 245528877 267413212 947811237 192554868 722233521 723497113 782033336 278915927 889049046 958954256 413499226 977945503 824946468 477937156 458182112 887120593 385254264 208432329 199606825 596228689 913579003 691705165 170543237 247385291 178006548 358719246 831488206 785837129 462633799 726773567 832767932 651141290 649933482 710290221 817862714 929315158 773659957 725896609 955106604 876533356 984614435 598457436 809738961 387603354 702915200 531977060 266446417 923389395 702819876 406049284 764830324 548733160 968824995 226526392 442785865 685317056 346986127 111102917 952218103 919341382 248190220 842607481 736934922 731740179 875008653 663177855 530080848 773904614 554336828 825078096 183382932 619049732 426600443 469251972 973042545 159557814 765294238 654132942 507824509 354824698 322993835 556595867 435029524 687598268 620209000 890213769 921421367 894672853 371718345 591531233 788466306 656358049 985308604 477896038 552021381 264070243 636838818 934566497 830904514 248390034 635485144 345964632 519454183 819474519 137091929 595566794 436668546 418156698 332710333 547899163 675005853 498030090 842021353 506804363 535605168 862490240 898227036 725292942 399238858 635836545 650958653 803967382 782292928 757117383 508753843 832999446 585204105 469773410 503017520 455625966 966355140 607072236 242086905 283716182 613499993 498368359 219748908 100289736 600489392 835775908 159651515 295789411 370385316 311597193 689665068 469039332 323715418 854881066 230054305 301555577 556066833 516954312 993625014 126822144 901344407 682289234 418462972 861587752 990498998 870678410 558335583 582055127 402664100 652272272 890343282 569759025 826309528 768591901 470908671 998351199 467634749 306839544 286666644 309561837 747848787 513349017 915263200 107811915 419906610 368334510 248820712 206261468 606310378 891892973 958307135 806045521 322106043 856046398 507042791 967896606 554373901 187228082 803671923 297807398 975491501 598517936 512509873 178777606 342383562 763922007 387431596 735393922 638271100 407764637 111789741 412416843 254961090 544376753 386605656 984605466 111700989 613384561 427852889 839553173 562941452 246428555 249956528 432546379 559848491 937567390 539470489 743670828 731114669 837031630 834501647 791704756 848160204 108909709 895557439 799050423 885611260 442030052 513857953 914806224 389261314 535303405 448221146 841550154 997160634 893693529 640314329 316848627 834351992 927291457 541900813 968226607 979277163 417061689 690040885 811323092 148748941 393339482 329815291 337080642 322579559 880210318 921557387 189879594 324819936 548416116 480017889 945200817 524684515 794868657 215750983 191025335 624129743 659177077 467035495 338137832 215724671 855237638 757933340 891718994 870224998 322389123 910242703 923523367 768778730 572999183 590725620 474561040 111749885 328050407 602288139 518004777 392708241 829594535 850555630 816464881 931189832 208272898 934322870 615812420 953096885 179568044 737368016 247446113 404296059 366177103 670786728 147134832 506121187 156455933 847231824 341040032 947405258 217585508 707611970 549419722 403015282 325630244 878908143 265035653 496112156 890540966 699783618 206236128 543346548 903003562 793995194 270604162 918760183 761179730 698594733 622004304 780186035 178046798 575308324 755122147 342056545 962022996 711778755 519703117 528548088 700935174 836146822 794620180 682793633 502157536 216164983 254298829 199687179 934945362 873530746 561653013 595601625 107451247 272470858 197983090 195804712 845885732 431102122 369388566 761082006 131819492 950444229 772964489 135569984 299990159 180797010 320128822 671353363 914360464 256331280 567643775 998843362 736520843 871185033 762083839 656753532 345918055 704210916 265474997 753917412 961275042 528543162 578776740 412031512 663560805 459547901 319687656 459371217 941712516 435829349 102258797 804088896 591213594 141827406 103422023 375736570 737078664 644600838 844919460 705876283 860755043 174433612 366174534 144668043 225112896 710539989 880451527 435250094 146388140 251912889 249467089 948783440 457713639 817249008 212248837 548355899 956014596 537920335 313439355 913974099 571471658 531026986 494998190 386347578 683049936 652400207 989726148 501200128 208129484 565563054 599372013 277634854 654067907 502807921 687881650 994138181 813439608 576750535 738987061 757317062 124215307 281071156 142839137 386957991 699449060 813251814 966634640 131430270 557187353 723360257 857044291 694241819 506962283 783752886 265237774 723605147 215383202 858572469 273865054 177086025 276194740 728907125 511992065 512535941 754525644 280306325 395781398 889368448 712192490 625857011 961979234 259474154 933116015 870032587 699638151 125678214 834999708 180560418 902069377 218346414 606516168 611774520 503318971 166306128 400933182 141967112 203071978 156481354 344600816 244599997 333048118 702992106 674298234 353116196 366095637 910043288 256068305 436963417 513703477 844082135 202101172 334086146 901491388 800423750 980906307 509463115 746672033 877364500 998167871 235229881 680431403 712159412 593944587 384293338 697881158 316169420 714503807 907433491 378192830 286168659 346642993 515829883 401346973 809135918 604681125 248455391 237231776 905935119 527742691 110365578 478641950 381968905 307963550 292619671 559301697 100216986 301837669 822639345 853356415 354305645 265511932 635017992 818047192 289555926 962923686 591554719 902519848 665666194 991755542 494823095 671281640 517540701 206073467 696972637 933895628 205735921 671150764 964577508 426872520 302739687 455497924 265348652 674330288 376065304 340021678 211755019 601684931 748649763 619091909 652242964 272720178 339430827 728664830 371294487 576055879 466603505 801266547 397475344 105198892 188272138 709284384 617058900 411312024 117261377 848418283 129899983 777001900 321321740 223692801 818876497 110349796 250345515 477720303 669656696 183619742 868184247 388948485 705536468 694549505 490548940 585718189 930253211 245378177 805382332 930949198 409850375 437452075 794221768 391444571 817514393 136492911 194143122 705048945 760719955 925171063 431757203 610685072 835862310 240412102 579656607 576448131 319655845 100392233 923732174 298412019 869071510 616195961 747731464 659813274 611086022 670170351 888048236 861499805 611659683 685005417 308172877 961029220 451785182 734779714 453401728 870796809 830624154 729990064 336961919 195726024 274839353 272307294 845675790 931860790 545760900 251598116 994332620 798821938 366564001 903548093 305858712 170021230 679372072 698187169 186682012 981063493 557310703 285211317 908628950 229453912 474999941 263004666 668274868 931311968 678999572 664682016 822758922 810919457 621343997 103050100 144720465 736203758 417592055 209799403 163803520 369927929 305104231 834956137 325812260 248630823 229948272 991132468 753427662 225172229 145917051 565378054 129287865 316358551 433834288 157988022 404772169 352118574 549792437 694429528 903436317 941430435 515432001 628415269 593157322 655366672 889095963 596250581 354107819 797401757 320755032 931687526 255628459 453203651 581394859 965744358 853991465 459282211 560629435 510660611 546822701 579276950 993763179 786145554 239398029 507300658 962082285 815599109 946190811 867572254 329938669 204278458 572540289 147305686 399715734 384803735 930956005 750192879 244535458 973549528 326920523 667228482 222400038 516189289 639913053 957443729 582182986 810123107 680984403 870643281 524687489 210298200 476729720 481669730 300444526 176804427 781680105 634492650 168420646 240905115 375520839 150726133 468959008 780189724 317760012 371548294 399873930 597266033 403524199 890239101 871551623 787344076 103855162 683833237 810397189 420839807 168415639 182372653 145875320 996092020 529576333 398367733 609306627 196037932 617059334 988371978 910413031 219859729 370464937 724590979 177372441 744895338 462585503 145775132 539891794 959691984 526969761 284165292 722829639 769393729 793263931 612445459 732480880 369670776 681760126 202437648 624185246 835942988 745764173 887700190 314422209 390061180 371720307 650769660 673484838 520848772 751802185 397679908 976418960 434362780 182366981 547418231 234357419 508185094 299621992 453102662 475518759 195996519 607298775 736922600 783357619 681884871 597512642 133175151 382911568 351144143 437958148 236374887 864426650 256826176 376324756 326258457 306650688 486716575 377666506 659091202 696141395 897284400 880525389 128787643 806902200 317847285 410987387 874967215 577952112 400677816 186190808 747736578 687930404 683652760 836373663 617785366 694566564 246728888 673210976 463658634 669110268 278146227 715285290 502587754 430178311 496580902 627889838 220307586 738246843 862705886 277409726 508271984 386115899 490938936 983211318 700014308 161252624 534161113 421697400 334699002 166559055 850603546 975555249 800379833 639396560 977045278 961762095 161596744 158982603 352626149 304231460 495366501 731935284 562787139 527385718 440536212 444747834 287410704 534355440 361722034 699395331 139439031 308715640 218369585 982603708 112098827 789322524 596535981 826671402 501423028 876172616 107705618 443633324 235087836 726639999 456330995 754521373 600601784 854969731 496731021 891982304 123479336 777068270 548825888 884159578 203924770 282532453 246903824 168427001 570863362 520627582 230558761 460389853 127434786 884327225 995908702 631405913 113405556 769006627 777329146 405644130 635762645 148816076 552538066 969833352 374802687 286465303 472815583 186906883 409453163 182965841 526778686 595400356 596386944 788876474 927173086 942624273 561562631 953244296 970067979 467086842 627096783 530535105 913473023 820556326 268164759 659395629 382727681 310977205 624246373 889341302 590951538 328480007 119872562 462461008 134767826 685869787 796195923 493258372 887015442 692149406 212084560 316813805 909674010 719744342 252593422 622336072 744013385 285081352 610066674 234232468 832363221 380620313 301964209 481582959 625363026 424000824 766433231 175801243 936797706 565659668 850695196 596299476 153392411 445845103 227343719 877729017 294629359 976853416 354104814 830592659 695662595 806846722 545367311 920295707 733244341 100195788 684591535 964582383 673941830 324986521 773781360 149624187 720721328 482297672 119181128 324585799 659561369 871679776 129089786 745885260 580243598 165058242 114110325 798812886 489088983 855995388 107895038 519016805 868794381 756477407 788503863 127045948 944025186 589496843 719619059 344547772 145867325 647119820 841444393 219676724 263680918 724051099 855809171 708531625 475983874 544831477 529918999 571733201 301791965 766241091 816813758 667300718 868994522 539552716 516672112 562803537 248312141 218643399 970244562 793324387 141014878 825506803 758763223 916098577 681440849 186685274 777811322 449258903 618823440 618919189 581615412 611236123 729519752 427975764 289550527 507691657 631214368 705590395 718736897 631409119 257376637 642645802 965351043 450935371 238427104 428504695 146231608 703411327 545805206 110109334 191399567 295285249 469656331 882748330 222151340 576125247 720832636 431344420 826257720 672868803 802942475 609789419 210403631 714685425 991337090 587964807 523291993 758318479 385463798 184992137 939656504 992442621 899794259 999490458 893107233 105117601 790868782 493637920 225924380 984030775 785580022 447225700 125794315 769809040 470537827 735069527 202119782 810074687 988860276 328345449 531805015 551488319 130491507 247763804 352654597 760613236 454116646 567267194 550789629 865857997 634018202 654372292 408896984 614736031 547111369 475372029 680221407 184119004 306361358 742431087 877931773 266652958 775118420 218904243 288313556 122171872 267350632 844423246 951358345 259095361 572616162 558893481 689751154 776654469 733837907 523977414 818812541 167096095 577271162 448795244 807125171 271212337 954884656 726935528 414162416 707379893 284452561 360805706 741180209 514999655 586726707 839973639 160751105 918312641 664540197 603805350 913031127 685664293 584913130 932806645 784402030 816717855 943787355 947989460 141516545 768507508 220172914 338384147 502068570 289928188 827818188 666103017 867890579 178166305 522039359 434487280 486142767 855613143 442908263 127294576 317088405 338700308 393494721 199407816 508896462 133512141 940224849 978221323 460194449 572768978 217442033 739001693 997669967 733518236 573253945 458311033 774060399 455677643 102617747 707265887 350271288 933612119 248601085 507496798 581098899 978311206 273684149 242822268 434866225 732687126 148271741 576477230 667310730 262500093 987662542 177483767 377479789 593750070 852711579 605927208 954106056 959109383 529217711 672758193 636575117 736405208 787725510 708450410 576234284 150740296 438892492 233808331 711822675 642299190 381994787 460210254 350821789 989739274 725045691 867614790 436325733 569564620 468548071 116869499 347370551 556917405 228940230 176646407 142852570 310524921 953059874 548342274 652501444 309436465 636750975 747096977 206224014 256545657 206471160 101297961 980837825 985212702 713575025 481861075 185556512 668517657 265568545 217169945 906330203 861010941 684026711 305631586 495618882 762377887 145314818 557580212 313411653 529500993 778978987 297574336 147913163 480557335 171425998 807462438 570435539 321620441 444327964 972028358 239729023 820634250 622393299 900815854 407076688 746926197 920584378 570950757 407344832 113337023 175672608 610001998 688109590 252111788 111577763 411186201 221508179 823199415 434197453 438555994 280692295 906982125 283617333 418758188 472103326 772985008 471276216 687972845 560551694 891796110 846002987 108987017 182541978 988257660 932899247 624743793 147885222 907335091 244990771 922123083 794117905 999025939 335067747 475087053 422759525 989572618 331589520 416837533 751577463 715041200 598246556 406821212 212123148 473387823 403650560 840176685 354306528 382306752 229964136 846415567 500913468 990174873 744421272 645522689 906886550 547371143 650068178 336498218 403521592 771708891 494445661 713797364 879694705 613423480 863822835 595429796 353953888 271486887 119980884 275718301 111344639 188253593 847686995 159919542 147767657 444882126 609420524 796901387 481395919 214751688 143997249 957132333 517912974 690889049 506691701 832259231 538731232 562077590 352479307 188698656 186743055 545500275 996816128 430363060 252667127 556984613 836644718 953195177 729029927 810187682 950923313 705917242 942073128 589535316 651048282 964039601 356150164 886922767 625580149 471850263 242531451 573420408 354281918 680836826 945009478 613677997 184035283 243312909 664434488 111219775 502689731 940535226 696635332 353991674 135821903 825722055 109983607 447715527 322507820 861861915 235707379 179527661 481721946 507571968 116491577 486365531 676914603 673396037 688892383 279763250 196590038 393468593 756866454 902391643 576149187 456546683 789829055 702579609 758695543 464404291 228724038 369808980 613434499 255274381 221509698 623733934 962764322 893640045 607653267 874354873 627988953 823065199 395289635 483545311 996384906 536344355 478626953 544615042 727940527 390994517 620054748 698479210 744302912 524798890 853457189 244322198 729659913 605357321 813106078 378507587 442253592 953625918 150204867 443787089 399230358 905981614 522071534 508804995 189801327 962687630 162799889 463325617 631137980 441274383 944749297 689749825 239628949 480601132 124644690 649425564 449927606 540340754 328314115 307464180 697405533 141479857 119826491 466800479 438608600 993757077 370924115 979161163 495850458 565608887 985966289 125465945 951438678 429966377 296611278 312959119 411015604 249115889 564032337 753249683 813921480 353094458 517109407 309853619 277924584 860080242 908555887 273204392 973726802 290527636 161818052 572653058 849729374 461804219 474562429 634595649 732910470 101723174 862258601 113880561 606791927 616973840 223550415 907332892 172869708 888007854 293365659 517786931 854225370 594059996 740924592 714227729 130219309 636561635 253375863 489619579 941288943 404972788 974210273 972066359 854483904 228769987 916155558 355668472 283933607 208893317 974794548 761623593 342600020 562774690 172043455 707109535 218387388 401956646 763689217 722042594 638473623 852925774 983396380 999859365 956686057 343956016 101550564 991331819 484011538 126871220 841454413 994598844 998226464 761999796 952938833 210390864 563142814 459502424 845708289 643420565 355805037 378361585 574797464 140556732 793229161 145265279 101614786 618326641 809309210 424487164 421612173 644954606 212092120 621887785 448514037 552652437 542890376 290399552 531810991 951803264 166729864 665962304 350968423 974465106 773183954 841673881 728774887 622761103 133478189 774536430 829976473 557800377 453519450 231413629 200992676 612265785 146739544 583096958 593548031 881300788 210334296 435946610 183040393 996895385 168467193 258483340 953430580 425822883 704100156 836290141 836421557 890561807 347887649 868644771 441530730 823139965 326451917 369365616 744682230 209150563 755123248 744847314 910919397 543017110 981215315 939346011 552715182 200013402 334090510 589209936 525348164 473945335 233204827 775033545 269018128 677340999 410718970 349222372 204590037 493629867 560322037 309700621 759196350 235140952 216638319 231096605 957649140 922170670 543324720 163964017 503830901 236298203 847345349 837649683 884095472 396248075 942692441 735135475 875313926 407612285 131432437 512662496 849734373 256049118 424976466 446132316 174153732 500129913 698113417 525406290 666512287 596488807 394096044 407889858 347298177 988803792 682919711 451624462 493560631 924915941 883079436 469538303 856797554 672053554 672653528 316248965 246040702 658806100 305204252 549776673 738033070 359477249 976012548 630787440 237554287 457781478 295776026 765037473 360068041 713448927 422552279 306906213 796186480 974989849 153459188 616653701 868013829 679292809 656995949 931096398 505235836 167349783 984714039 984774358 524972908 475583405 106267601 831227104 991644016 992909584 967986251 658111448 839309544 311880618 684233939 957424775 728959792 315045603 755673871 146661397 409936020 475081396 387493599 347618119 470682779 707522050 434680714 456992738 312539831 665092731 762945398 610280475 411267924 548417158 439609890 215969887 972215105 241333439 485780384 724124232 522367132 936894711 116431766 819373540 217981918 234513147 317162249 470756014 982080201 572355456 975392349 277823620 766126448 190245818 736670101 290509053 895179681 221783338 744515137 798704314 147260443 139235357 596968646 745463347 130766861 379520069 156559373 973143284 939148302 901678021 901206523 266296430 485882413 444279368 849909865 832357059 351975853 634936180 625749082 878897510 513406419 236740556 798364054 508089800 635519547 885264661 687365929 732476875 191793990 551432462 318515858 486093714 169484512 173545885 915640847 983494998 486249149 724639001 398373685 676110380 888826758 653029179 768982531 575417337 842030210 330489334 137044156 925185210 975748240 489366589 165562686 685718231 628988309 632252042 932462234 272960186 602709360 660151668 914943720 789811288 210362655 463522795 332988547 395757508 506772361 349988965 379847812 161745147 961313514 760233823 627982205 173101831 794913324 706158465 475995018 456237258 968330817 640261712 618816058 622445539 679698878 164374425 751627914 643613164 930692956 767763023 521725322 933932620 559758687 827777966 678334117 702589026 813764557 324393984 708556022 624688083 734689170 100231718 646968004 868776101 312393503 989375960 587580143 270800861 305573003 721645120 559716488 214806593 454658176 927222398 168427417 902861050 923407640 479864954 271676995 811633357 362949048 920190996 779973037 700865272 748871482 707546766 237513614 808720395 837504909 777881736 113149291 277527000 940454013 601688778 780682720 733507495 135395531 438180304 670340344 515453487 126968138 132656700 126244305 662381962 945183350 674093780 941699001 447397683 504401002 147076988 572011478 287679588 980223380 381718470 316787639 549630616 197153063 843602907 537906671 823108857 994863106 683390890 950124906 206997477 161649795 579578144 692758946 718463092 352215872 323340961 874047992 500397747 101147027 667577317 706098677 137758823 323709035 174173561 653233804 765913450 358569274 321050625 565271400 852637357 761191293 646146730 515698179 527002359 295714033 710950657 733721990 595773729 594214603 223852567 758124644 603435929 370828854 300211715 606739438 716246422 916160472 979585136 920008154 536659615 659270798 585608188 378397391 972495328 990914062 932891526 596968690 885976480 813485603 786719088 258559748 882888608 914994945 434406238 798943521 537287431 345321632 764685240 271528910 751573811 923975874 189540516 823630182 681444045 152905169 495460170 750124722 783874971 150789879 952023020 222227501 857450374 749901172 120352441 165812401 507763332 961332716 416437082 486659846 518672753 172522515 699786524 510058819 599030533 813266402 440199835 426513659 958104063 387831589 178208242 342686871 395902660 689752346 881067611 137008295 399965988 192514483 682132254 956423484 266797058 597978416 985241374 326480120 381728968 305047275 238999825 797526338 129725398 452566011 466036475 297767810 991992295 949519996 125048298 271903402 807480492 709106345 373742613 803651594 523084135 882385135 178940407 531243947 265303365 839195631 990026219 363601302 406677949 547576362 289094688 529416507 390209827 804808001 468358182 776357883 426109765 470731594 890594809 880128615 301134538 374950114 869088844 269959454 987166887 351798951 668029093 528944502 289905367 786206135 379110232 787205538 829963517 683060446 845072816 595459502 252568415 501429650 342695261 752477038 128694817 270303885 278552820 563858006 491240187 563086426 967132419 582604571 450572275 816851260 681145151 962151329 857175774 118389929 549006126 121451785 412766827 962124526 327675092 919114001 407596675 490269629 625650850 865589573 518977945 307659265 785847822 181576830 672802007 304220131 610572062 440470064 349434178 623405061 532936291 179848076 670627874 576137780 534139143 419389933 119969758 577836857 260572280 606489898 376224485 668815089 454201761 152716480 605360789 732888048 656608949 264877475 247883735 307505769 781518958 164409621 235210089 525773166 418905633 561154492 266110879 692821012 422635969 696232664 922208339 365514149 383490584 718719889 507530078 812593129 785447415 665725744 368766715 232666860 390508955 964278142 467102453 838783389 223493275 766582637 207919049 163863357 530499485 975746223 771524969 995324162 443869083 707396328 716324615 853658927 296308517 450320564 361288945 702952616 551442894 543581165 372323924 426206198 846009886 261964615 602341642 271701032 423615317 760652468 858241018 812952504 365752381 350340775 846492933 647128424 424315017 284007571 461134168 842132029 626967588 504544220 983181546 289920855 260061689 270878229 137439438 489877370 766816694 758649288 624251394 297123871 619253156 383137901 293574932 292630919 164177354 619331395 620116547 718467294 227509779 584190758 852112545 722487651 782411267 202419257 175797551 695306298 925907962 797130339 254282992 413981259 485616735 735171420 165988740 855902199 308632855 582321274 442675270 525715759 541769934 523962336 164358668 824790555 941863502 878070894 172850844 481872200 423964597 726795699 894606348 916391547 293907908 133107844 941548210 372874894 557080746 424427185 717971656 891988238 147947261 810932311 592586346 835720240 143124408 499712109 208215114 798177090 108057071 199239301 126081557 325394774 560117978 719741239 410391808 396660984 352111271 276838885 264121158 896083681 831474655 626173271 390709420 253367298 574235199 601043306 171189738 396840161 989131008 359571706 212786143 696456528 267857953 970024081 258485851 629654189 487513670 462368059 645244255 530985435 576859858 646415846 117442753 612053603 903902985 533321663 313745069 973947447 418193471 890866444 333623234 950334984 614521550 124728184 212815874 266631301 655325482 683745479 508350012 783132577 534138939 481380466 790225166 168809568 877606559 469660906 927052517 539207200 513724824 983862104 853660020 726920725 924904744 162716997 235663036 461951978 335371891 827185741 459280826 608169169 847389504 568818648 433021094 987835020 424910586 172785930 278048455 531810615 474027441 796427043 322122450 489390176 850352403 288855216 451606396 676127994 176268071 260397917 624608529 767420463 775608793 119643695 574200515 672062916 401062786 694121900 718387053 978388997 926830755 774516994 252697838 816408685 760942596 274625590 549276583 611608370 229226236 816030571 296689393 901490206 839850247 753012159 807632374 497619496 969367361 528897574 286432048 595384500 105860997 690925836 149517959 894468468 303892132 314937632 421390354 545646158 113215906 137781093 186652615 513069554 791898675 553066591 585166550 608771188 934635510 764134749 496459101 514467320 948242770 233205559 841967985 351997486 884449640 211410113 193064445 665843060 313498962 548823275 113175413 663424444 115297473 655742371 368792022 715054163 139142647 794086746 747582029 499529494 172473088 740905440 650450972 574525888 337493823 744653599 128107755 629515017 518240114 839828676 808156621 516169840 922099702 288338839 962684551 399461396 644738125 800057688 646438230 181578116 902513360 830854199 568690145 749230529 118250512 477146535 984623057 869022433 747079375 277632828 835112360 422040219 645271322 212627373 675280855 438216039 729966930 590249461 614128581 486412361 140415240 867057431 327007238 218106267 884314638 862307886 469997501 462143961 866250951 247268952 718313481 798036596 165239849 531014397 677990492 409385002 581541426 245122822 948465598 889269562 349160517 381375337 789437056 901143909 565117365 970185049 737409103 487519333 937371292 506954057 210844583 265191672 181659319 882214713 134716828 687375690 228483251 245775361 271757513 534613687 139337907 743832321 874554972 193784252 173367594 370982768 859584433 346716112 412100253 397057328 233329294 679651944 863882698 209015008 305297894 651434792 207097707 306592277 697735609 758714397 418104776 201992794 978930393 152663112 223776383 721413387 903607117 493719474 297318197 798572736 382978251 527191767 423109037 166224565 246348686 149229725 674014323 497568810 129379801 534738332 227877380 961452077 781985882 805911737 474221870 971792290 379261879 763033377 935675021 179462036 436097375 563368334 841048148 478801517 852177070 411625521 360435346 647213064 402572863 385388957 904880434 617921286 440765935 873874534 477319950 986780450 752174997 118726781 746408403 755537524 508295616 971714996 975449107 869039953 380464653 887104299 860347053 935764520 721631694 842095566 580023853 632556294 189555111 646511511 379688672 162291576 552903394 330734801 699340775 698629022 556793987 799712886 644546410 255930021 162838955 583424481 297208683 279907250 622212416 287281933 223189563 949839686 425818805 863212843 776868793 786882506 126362833 389655199 888017805 338689838 963126429 991485916 397274595 432281585 335821812 189998960 395028630 250301179 534783417 644400493 244497277 650056885 118813192 969610245 792687948 495127598 886517926 257707528 123249329 792342125 589288800 202322966 383145657 820338112 493112807 983475545 860092360 658855408 819018571 119236546 268462351 423408804 372650460 493172448 922713072 940391649 705282743 595543939 926954403 811696062 950208846 635735761 823194420 820947819 117356952 235360251 730158166 446655126 827594690 463363772 189607119 315617573 932312872 350986276 329874031 237365530 863934942 156875188 359332493 285489525 466603081 853883103 977320708 534946868 759667712 556325971 768226032 585784020 727571044 265149350 967905298 761881316 445821374 150218699 435697176 868482268 514894397 774699346 392091462 798256856 625557645 300122438 743131747 100510115 440061026 471305671 312059509 496653738 749209239 596777287 728762011 765282104 249927537 545584640 971184660 501944879 876523002 714463612 178359178 823207612 350898615 729507742 440624403 743049418 947727709 482817965 231078031 316173430 830092197 346366820 373565077 683379801 623417311 222494945 699976507 565183605 895319414 755112142 774971376 409033040 432998834 185090896 384753747 245444657 846589562 208833904 181726738 791122217 107996367 258799416 155128758 726392698 757332400 635466290 695511061 856254412 650796625 474555103 794890911 814820216 359695595 233820038 390190729 981869199 173296723 455761917 366215641 870479304 959250479 926648731 612561626 211662093 848297026 711483034 730475061 630640211 497856601 141246737 259681936 922833185 370869902 871442567 412877030 296403976 478572460 485595275 260830493 627010705 423278606 556613987 963785055 642815829 850207317 675583301 248098327 199582439 870990055 307151938 169128380 795485263 283353604 891590407 290245590 361557495 912404269 538556900 582957542 159720464 357249732 413213113 705507697 988300329 555111212 618037421 828696297 120223197 783310205 338473004 186186379 144678147 548430832 973269259 405768554 226766996 865511867 246525080 710009201 823718087 400334779 964075418 451926513 924094371 162909168 233134742 238087591 897699095 376353132 257466469 572500535 990025723 653973717 937741278 918370901 690406439 736958991 626704999 828683177 724468666 772526223 112199601 905173581 676109726 206628295 313175826 652298034 929359448 881062961 232442823 801274505 894265756 601796700 582794823 320585443 710857715 433015343 371436605 998817164 958897403 206405400 645207999 949637451 693526658 286014085 415640129 603124215 460478974 987532540 907847418 833679333 364246176 364094000 626944448 712877122 922135621 834841442 441259654 531246960 965016498 540616681 765973750 272018804 705455229 509908043 277696192 529986244 383843316 692938953 982584188 625221692 439663638 282701047 119508386 685265520 110102265 968873333 911399646 701916763 201836577 455748522 401269104 163378386 852009749 852023067 754203245 189465807 412183130 870763800 591225497 754804013 233086332 183369671 682528722 960162293 360206853 583869008 285621551 321030700 885675350 701426049 587503719 124709321 222548520 724946648 695390444 998191827 706451817 495717235 332598651 216241164 276726650 113683969 657997756 630913833 101467589 499226763 220940513 163319307 216569413 671579066 658289079 307873248 221855786 554195364 926455681 659799643 499820686 386073254 772516745 812641794 827922522 998298248 932575184 325302777 388546384 233326875 482224282 562950807 844919831 646952442 934878428 358702470 496368809 650761013 736629577 409736142 661126128 785497425 932480559 129140171 948531812 999176129 140532019 570475196 384376983 373421519 229759372 936550167 780137116 951491225 232266580 453627469 734514973 909102492 849820678 585699553 801008246 223432607 303162266 933143292 101697458 494564101 372157802 200300811 850154972 441618408 635926210 782457405 667058840 324334619 767033446 456923678 544323486 168009330 407573537 966988420 276983838 500148064 168663937 490078231 406330773 567675530 880622215 113101730 401514766 264329703 661957439 593041373 895942519 739730685 881299261 873691313 233269784 835753930 778820901 344609358 382872887 652639877 277264412 464712249 495478055 753559681 268694480 656888756 545839132 429110947 704795052 950943973 980485135 472177778 240431275 578782594 950435892 566275961 393095411 197047390 296718313 122715478 196466102 441198730 366654306 231579410 266418482 115897931 485000677 580178866 644746382 323205349 600322068 713755271 571259389 325385623 253487255 243181603 330702212 613261974 609803814 622634751 160694169 463606136 911516637 680225267 292382399 772977650 565283151 105045720 610153904 650803427 991985125 735403720 454965875 641737127 114510688 908861340 550344421 991281431 604077025 330507533 968025164 228284343 778634924 598181354 957575108 274319532 312248282 401558590 120635020 958547645 326076525 825813801 830267885 416012365 682892768 581060099 583967088 152141020 360560808 282895959 917001341 836845970 103451303 721198438 979233895 992862423 736711361 738578508 618026514 824241788 563541121 719259744 733819816 795747632 280783848 314425863 402669112 691880010 428378777 442553383 285002507 614245884 105084169 292684078 786919042 463477874 573871323 741868921 728605167 278951869 210094812 760306953 601854247 774882300 446366818 326420907 838809881 520655383 763857152 147081646 528766174 655802021 355929784 713423442 540017382 345980546 181826197 663519766 436748824 224074245 828272203 507618665 234906648 584527318 688060560 973425414 786696604 263575104 328111801 847262816 973608801 667445312 529910792 358935102 889601874 918052438 358309511 371544603 765993520 203027430 198873476 405297942 879366726 249848259 823442519 113687565 173334248 953643621 314405068 795720307 622522659 217876491 778342474 570082713 941670834 809394242 876643422 878046105 283885760 573146830 738312005 850528868 792323437 417614781 339770893 600952392 164028467 794602546 703945192 613330557 510498345 346256209 579016166 321720562 838442044 680439571 143892902 258233258 869471705 685895357 978546757 356574778 423178310 330717095 738698828 848371934 205124700 817545271 431523455 801582279 166155009 391913735 383225482 614009742 123439020 181188753 512142583 944331246 337904639 121316321 904853744 760440308 409328679 199978983 880292192 345489058 461517591 703545303 355395148 181355667 304767824 208892251 657691514 655967176 983477474 309999711 351243105 911499082 354615287 138925431 745478982 756383705 458179485 980444078 489512273 987896479 334037755 784166848 596128850 760167459 615543371 752876132 981519030 409681484 784871163 339586638 636826139 171722499 800103454 157928511 192337803 234631470 991931386 786099294 492436317 851788615 813281147 713005150 768153642 858858700 243657962 178170541 828029941 367421670 967202865 837887158 741591951 615307055 942981469 176018527 282360846 325325699 717148101 818978056 435482940 686335410 357787885 223479600 378231702 445425599 550544441 646921291 703513074 482770483 864759690 767413672 112866311 533355879 301595124 467480314 898473688 578896425 109860185 497964621 292844439 293406312 830852000 416013343 214401184 766134199 591369763 828535554 771119409 821894131 122340970 591545659 851001568 607567077 342730228 978116860 509442725 957482667 690257517 809937669 731805514 455805166 781282871 290130293 618056526 879092570 779138741 762825699 145557662 511428632 414938876 651873201 834605518 737542024 283655391 929144643 960460923 303719015 850380362 252456749 644538599 517763643 900369341 311330725 762450527 834819018 339621259 387845827 490724046 749766293 803275088 397592212 996366158 314673923 862262118 512256809 398786783 815887170 614537716 307552975 322637590 286530297 836419816 826613341 212587546 164814630 678868550 924003416 803375860 332317023 802241571 231998307 509214282 924995075 629196731 721799431 240156770 340253138 735882186 890842503 381824684 726578828 171914286 528464200 561786893 143367501 576957667 847228194 485223152 992321222 730074000 766315249 265832042 673712738 296387042 762443838 148003233 908440324 694151066 690845503 982738588 349776726 929044859 387598660 467205108 697874264 276862146 880662385 424431684 505264696 148490730 249536727 165803165 449346246 731413448 249943824 682291123 463736308 514577796 645270657 649851422 364016654 114878101 958729388 197761474 338986093 970281227 186572384 677034362 631720980 211129462 842171798 133634007 219442956 563072172 755815224 231476693 924230034 249287367 782492821 721440886 888548149 525104516 225595793 212585311 401939522 233683334 982930097 187585652 304330002 685117508 217225094 279595857 401267195 709656950 258422795 124732801 393310827 373763381 847441342 245424283 439597863 361784820 664571940 580013835 291436638 455926569 126833662 284182165 516877142 739816009 641163460 204762872 321058320 343856918 621732833 820165883 705848734 310484501 498224064 900308414 103659496 700523539 999709799 919840080 539982467 107919457 128009920 213873477 593053227 453660597 763681922 532415472 536954138 858791608 820321237 663801859 510989650 531891400 334878944 754499693 763048582 415802582 523732674 397640595 906650189 948506857 467105247 580920882 240614322 435599129 660400994 354831124 984795489 301522314 388183600 198496919 974947504 346463317 876952145 365080465 508540310 855901470 711481559 731446447 862677085 496162042 489885171 102590604 301741106 142689045 304587468 846644723 615112299 656883577 599553744 546622049 565510408 832410289 818412537 948421635 754317886 740336330 841810237 573996452 109783273 639134360 641644023 936280235 587083201 830284208 842654394 960335741 801729466 125324697 220833322 577919478 716561805 666764979 972413258 417643519 808574954 174819477 611249293 199478036 905123930 224943868 325690672 411222237 194840198 269463015 464322492 204473327 454166589 264114032 254103794 754969904 448482336 863895606 516139309 751370168 117400725 739363281 415850579 411971630 873008503 922838532 116783191 865952193 149558959 607637912 314625326 119033369 754926978 497285451 250764423 725785960 721925290 691119826 853388086 822016740 856101345 457638953 872689135 368568441 534038310 961423406 189301090 590545128 745324770 452039440 100389063 434106599 588026700 689531555 735595780 897237583 194297152 626431929 376897686 898276969 426733158 673215062 333437062 903098781 208130923 557663083 734387764 582779560 849757596 181328412 552268821 792812204 279513571 441868374 452339551 787810639 443732654 827175130 477306808 250788831 120351979 850804043 625335296 353932594 559058633 817646674 860771789 229074023 901590386 445579487 301604335 294407025 543123134 914388436 855637939 639860819 490982229 534133516 226210958 338439760 189551258 189374722 639689176 959335304 912518765 801767493 572373768 123106015 111932281 326172344 594778555 224826310 463891149 449227202 275325752 316612049 133765743 114117777 208893771 850345403 366043386 959482407 152254703 585902249 860710862 523119050 829725107 836353640 232712248 409044986 953255382 546699847 346763128 722032187 902558814 510807835 775054329 154313809 452246491 478622421 311901115 857238692 709924260 640469844 486815972 608759800 993735313 547212156 802624458 570098782 964047330 635259192 133433275 669456905 722290587 526912970 408734716 188513155 895051350 708216712 383306512 530283664 739600154 974255147 513130855 243970387 677095157 595684909 828973975 170292048 419848743 822483446 146462192 327259403 271965233 293283787 505883937 609623312 371363467 357735858 304704758 126313936 280815604 432446117 874664353 709257122 866721521 797887191 431172903 464418299 552472085 722445737 445074342 982081209 804830323 350133094 520761069 570507317 279982478 109792397 425533839 420783982 485288917 584828919 146646639 394352790 777167469 711856742 522713404 985253441 136508695 436339590 667498690 905502376 238336441 355864848 979486547 613764212 310143951 442525087 321559339 734362402 246035908 959268854 116437129 675478796 525983441 179782470 231294130 200470929 357481152 920716061 110867967 566826810 724165396 937798342 977251248 920954767 415764843 478003787 237415790 236560010 574011079 892457212 400404327 502331075 985693716 368592797 799312928 618041277 740540893 695923549 254543234 468258691 596302295 669269457 978929811 557118149 764015311 289161871 657418380 589269458 680532057 940015144 504119574 259782877 809506542 326542154 709498182 377931226 786837600 227716505 389965999 146965996 623014426 411515017 622587501 365440254 267302781 767971859 538560474 748530979 159940454 531147204 551350118 180033869 479377120 541874495 708792036 581852922 987286753 609358923 744247662 177823321 321407051 984043025 968790634 224862276 339611459 999604314 699428165 680186758 871125330 367435574 345539710 512491778 708075146 302810190 137061162 110663144 198148642 267021528 335074225 776744032 579041220 389373812 880696275 635109025 374602251 508542529 706609002 425469373 284510612 641258481 970732165 103242085 218168235 994631164 263708745 781174511 211454214 494190288 167970575 921322678 845556056 203717141 875796080 201084971 816820969 830165334 899257675 689453163 746908881 243153125 798763280 695708092 785247092 576066141 853342958 867317245 102404180 703142844 435690183 565362319 128949098 976970194 126352647 288220934 385067491 162679941 399727488 653967451 844639585 902227490 861483988 269011504 113043025 818794854 771756260 875294294 221244319 120271490 817097443 546294994 659662183 132779675 259451016 533422008 979932026 458166593 978819510 776668502 536405257 494236681 433436059 292152738 992087020 729240311 169891921 712935864 943256675 578312620 590244395 605946972 740113412 248599713 363225082 843469469 153068478 106481500 777037202 827162084 994619124 124364648 513702775 827842329 670929331 559073576 553183147 587740995 865502645 433104687 934365143 931196578 172294298 252390426 561783116 654309037 330337637 709064767 274031461 906817835 363761099 619963465 995081376 649865308 988194504 554175703 426347960 306595724 120458467 160074655 415379408 721854724 317624000 589338952 760040447 186072209 250167587 445604243 167799748 842962237 638471661 723336656 520548995 756936726 258489265 797205565 322400721 642600264 247939927 318248013 881268887 706076071 948212040 733624885 506780033 807758752 410607471 693463872 110231821 913657298 560288771 936974666 271275457 899981227 489822096 859756932 361696039 940127547 678031614 903008385 639658140 625289780 350908051 922844416 115840013 400237155 996406682 711550267 407163561 953745143 518167162 435224784 769947451 903209695 750442189 297875076 754425698 392514034 523624515 215378344 757250130 301325230 224512350 881093028 532945285 962311055 486238286 503596281 892242735 226766691 954086093 338698008 349980882 506977040 332603666 555997304 693822075 810802628 788600120 748632447 790086329 344220135 306311899 192071909 393496007 830520296 494071152 764343395 986534059 164450996 917228585 612959943 317830317 771556630 226822169 637071228 847729105 591120468 709073243 563107277 281218215 341626218 913677709 629635120 729742721 402502258 294785929 744630783 804551432 404355339 622728940 919488411 325468226 340826882 602063048 508378977 346009609 768159336 198030539 704608017 934164628 115920825 662446473 743316507 644321928 294280048 965791254 335880764 225626741 252286670 968341121 829783570 214542691 603288736 863288493 897537008 219587067 821935025 331704716 436263029 440995852 168563871 251095583 307843146 557680294 246029905 892191204 790015001 667839904 879170361 105694774 985064546 556954397 677911042 772758827 303579147 977274551 106824554 798763276 365604342 712066873 429077255 464605599 267678383 996883363 946075309 110128248 974240550 547171709 324849218 646853570 208780276 360304336 916364888 741663540 117265236 646374813 690786565 181280907 350932812 137863798 776449017 262357298 123162854 822953449 321321254 534219105 429886005 900147356 582479211 385949182 786129085 545703095 753714363 225426249 789577861 554826960 361604746 361056374 780837137 543270818 107438587 818501901 479248816 351770779 299302479 878551204 772830385 930628861 672081873 347317003 929411536 103511171 205080485 423881139 779751505 852657759 732169335 196333600 607087565 543062845 745846004 263115212 773938458 635489636 125240288 360930195 162464619 906178279 228062177 861890304 146118587 304848256 609134463 273588256 727628100 647688872 306969963 879300782 259413470 369978066 303757593 673308037 181942926 687405425 610502060 663168809 852444912 301222488 455506525 208837130 433981353 226248406 906896590 183401339 165898663 510690194 260109400 328597991 846084455 859302571 873845396 675370775 852761298 138601319 262491530 502476546 526916132 762222581 880698627 679071463 734143723 847718777 287796119 306702766 754484235 619669389 766107529 984294476 835870148 379986272 239978469 829151084 177208566 275434874 161155038 712418316 551722631 615806297 607676062 730299511 222847203 450226968 108734789 352667367 806548137 203176974 745171974 783625292 775725439 102987275 189415377 830155173 580620630 127865660 679521468 224063823 989585941 982172527 616273638 198705551 885940922 991012450 798839299 289804248 655516536 543964694 235820850 971268665 590215180 739629582 421366283 869669439 693754097 213687990 213152126 182627419 723639996 783638093 490672649 542158329 594302559 252659060 963811718 197715062 627227543 642530016 118172593 467499375 985578351 645143301 969461750 456830668 565355658 579635327 847479104 793170427 900966255 292135794 835318138 338677295 649032248 653984631 907116409 451144002 254418725 555112524 672461835 383861300 457158323 631024657 531823202 142713786 211083403 622718929 506327296 779880992 163641451 516303451 397486490 726812602 644786727 710213830 820287737 523078714 412554786 139908222 673400367 721429120 739364693 610512307 150942494 546617769 335674767 749016517 443391954 915204782 259595582 655791223 120010188 326450087 220511365 969393933 344785976 860081057 793115985 742472481 934658059 842269788 936737560 854461910 711020233 360485828 351368817 811354398 433760794 850086160 458125632 314444959 736138793 137538406 930515768 378688715 768426699 463514635 922499175 402856126 732281323 559923962 825567128 121597305 135471394 861637491 167856597 931452035 418920235 862710594 960157001 394143153 164198575 297746991 511290376 420054120 529767640 593654360 330698469 757191879 997898980 529755107 860808937 212311012 809698516 133977404 216078720 848688306 939604107 543749599 330039227 299154556 736613621 351770831 763650357 609870183 157241640 505930884 379820312 781141115 173340330 937984445 837603084 325575574 335626347 233159903 898452224 616247195 461753715 692593680 229580846 601299103 977045537 422832982 733242933 906864151 788708194 912762583 260644809 130093416 474903662 596868792 386896066 165726454 750833801 125025343 531431054 663762363 345107318 326978752 886976249 531795120 498762375 768038311 775969492 404733394 585000511 783340381 538863354 600644884 947503949 469305386 524860061 941497090 479133673 789847180 550805472 387394641 734686366 150490912 265846627 927700617 295608689 351084005 743705184 948269943 645431386 372902680 379467122 769768215 324836180 636257238 116029738 709437539 867128347 862342983 703471959 771838591 377105095 300477238 363704400 198655154 270037911 324982409 287710536 547881900 629582613 502832116 152543956 105813085 701225316 660503535 206374655 191771395 346832131 678665479 728343176 909851351 151433836 228315876 597839535 107617903 243435173 974498695 232324100 975620470 570797729 168029130 199762117 867225849 499608205 235429943 649987915 550382382 317764619 121644179 408168496 403214259 452557431 123182266 645012187 878268309 403141783 790502846 660764096 514178490 106060365 908290317 287812767 343783742 236610915 950693900 920216310 939482301 313015354 331919467 167373858 894552521 159236521 729633131 535312577 251661602 345629292 127680746 506325478 824721162 252590432 363585324 933434057 449597346 480820299 930056738 706653615 880305543 657485185 827355519 333139022 982209382 570139167 319413309 782608170 801828003 294973333 277373760 461917431 548321598 716825711 877462918 695120190 322987103 919673111 586978755 765310617 896591769 467187781 326560647 761968299 183724310 953132488 293071309 118768810 448548361 319614003 292373868 974261874 698085182 254689174 285370405 757533622 253756060 737828258 611177697 689441506 671770347 455927885 873188773 622399437 348046785 353844303 843726188 926890215 142525642 539399712 552775640 120617537 956788721 186863526 431600669 511863759 555986113 611820286 365928711 547568455 414955871 617354589 322451406 385248015 254186103 739115302 895277201 116183029 599052257 432841953 901890758 441351435 191251512 581186486 330608359 584538568 764784956 742533900 573302203 105505083 161095810 517073388 275998251 266361331 998205677 633769628 972670429 235166031 536688181 128086811 382918699 881534136 239544729 106629525 520836717 474615349 476200740 991373060 401744033 116025999 644940723 929043067 660704765 805992267 524618032 661101367 555857329 498187084 457178258 534411138 531148171 874249993 191374839 516055136 278773790 215404554 104749561 474240653 219684267 170184106 443506887 273793967 884731916 893842349 320455743 396223740 840838101 599850362 893921542 210487557 791514736 294453145 320440609 737052040 108195636 823841228 652314119 174721144 632624156 594527097 290715136 478643555 520381929 343441056 223551405 821454179 140340881 872188268 190588376 535362357 974007800 748295310 741096537 912690308 974022777 358098057 646651480 660964978 500781063 623426175 591258532 814449042 181686739 970296669 158752230 175560944 458181371 582181104 678754918 490055651 330589287 819604580 770372893 571673438 752011091 940090204 693755580 915975574 213357755 876423597 755394421 129900960 341732522 970517340 530745862 403066283 144907072 942068651 276691665 822858686 952746619 665711013 863092040 466472394 185732333 376366162 465709786 192822179 241562883 385127771 494553995 121000653 359095439 750684052 659140239 978798666 269969089 905771370 613383071 619488688 848948333 706646573 216433088 194105264 117671968 879405273 965898840 563332074 358499339 172853923 303210724 344064725 538741534 199815268 586594854 775995544 796815912 602229653 366775741 636006246 131841753 789207906 129386191 857449541 719113549 612306772 364539752 507058746 113156587 725051496 373103534 882350621 736694049 337106454 636264870 893330830 713369374 956103832 362767751 289044734 998776558 321757172 704151946 458054572 285703235 961483792 263336236 711043396 623546915 390317883 351809897 439040872 426698544 595895031 959160093 249759266 940989216 157344410 963385696 543815142 109832373 425634910 529268120 702466161 533886919 742046804 893615917 585355029 382880028 453185276 986383976 995223834 530639712 385800492 884736503 781893137 425615372 531976170 240204923 973514316 219417187 676050330 161599207 393071857 625838485 553859624 312760780 736107519 286386346 681577339 284000002 623501534 195463465 745154637 684610971 261250560 213308595 394856332 259128931 639197992 288385580 882739327 389129115 821312337 804624681 596135393 517905972 712194433 761142195 472296841 170540909 367075404 556958854 475353972 676064496 444340183 118428224 430127146 786632694 334369057 491138362 502370617 183298026 676296992 871061319 344558171 639777210 664749971 233193986 886721867 738315684 378755720 797359535 724773739 373900435 676246764 434368397 305416532 881984874 407556548 795360638 708076224 782353681 654973176 616847942 181773116 435293002 191485282 951979168 307367496 585925611 255477825 383016196 625957056 503491590 961449149 114097855 584515319 913183045 381882406 794250009 504822631 694603124 509209269 103513917 739741540 140052375 298849923 386947845 822999895 345314505 208855134 241209187 223090267 532420437 494179770 220974874 942021395 542017500 305454342 965150659 552675366 343007163 307746381 634295530 937004350 314572513 897395930 650360420 428012313 547554144 791793448 593418021 285485948 600449953 478233166 813173120 700625249 736424525 843988463 466581486 611933049 345002877 946215177 701995938 115048395 591603300 516887270 266116230 768162280 458311021 285341346 579895506 126127656 586150036 487719500 785006384 128291486 670666254 910635738 492409027 907420473 672846562 270944397 758760878 572600084 967703646 584928785 900723293 283709259 250720772 927041758 195252238 261759969 730471152 192954051 813798226 821686993 153204266 712325980 790754298 949592602 984005499 281804563 537716486 341399782 744049427 732165663 962826925 162357828 833210339 788258217 224628084 686379760 554249339 524920959 671028269 687070626 997237113 723556952 230187722 785915331 898591966 145737313 259179096 267758143 377881428 146940863 476369838 319196704 687637275 357482765 273070987 497797000 125845265 950151071 482572171 282487148 945155388 157777844 967650785 147676456 882640361 338082410 765267796 847447163 649246991 907718498 618369831 146074736 187550877 514603006 342174524 711367993 665719840 460674333 275544534 331185131 381732079 147032351 174960917 608780484 876395592 614743689 765193442 805249839 583316089 390853217 355624581 229441886 869862347 241083065 736847299 719331011 859797884 664871162 955425527 985379065 454519046 189605408 581424344 373228087 656868511 701591008 216063086 828265472 549227607 584585195 849380951 273018399 164602230 457087248 505089392 872441539 412467146 921624446 790461723 766486013 825486401 560370629 588182995 958372196 340502270 710094286 350685896 787270989 186578796 564872522 850934058 293200232 607570677 358932563 234951237 698434508 437089565 324411322 299214286 872821406 880359287 391952199 456221920 261366270 254851525 129697413 828764120 489388230 628820319 456215896 586914110 866096046 864115890 684125448 786835077 250977882 362742526 435388441 650777434 178206807 980975113 971111656 705107681 398502375 942495101 280380156 682143805 795970988 208605463 908347600 145195950 780246006 843858103 271039233 154797323 271327867 670375338 540978176 265229917 170488628 784546877 332296614 323582554 457157546 619982426 385176972 278297169 503412559 598103243 802830052 580323282 429608370 766033888 617287102 499789063 165436986 505599266 218377882 925992402 114982461 423722446 523508794 985532932 197927457 301372045 510623169 852585626 492999456 783861434 607004239 939403473 578981887 292145201 159396309 389721250 210071703 528187754 782448178 575140814 270321913 976261985 565113834 632403507 239010527 998517249 262106129 869182730 611232462 144117026 532204763 710254387 329910427 566713061 871478459 675342958 270292975 901116253 639681920 318957899 747143079 100786243 932595079 250109862 962555111 855192867 916951812 563806858 198781967 495145231 700472078 843949857 989629760 251746747 793531744 491051687 670732083 898817871 562143342 681301078 649651173 384228178 670415633 278751051 327272742 152003513 676943864 986043273 704794474 461421165 908644236 816227373 977745377 290545627 828853915 349639929 520973128 187188474 356633016 366712393 838342567 372164743 907054188 252772868 925750582 641753582 574083730 498094538 427312938 688858699 897279100 988163964 644736398 511984410 800344197 677178955 684709096 141585795 918913445 264882053 429505730 162165434 100782863 389486641 993199156 941565800 974019383 224230917 944767463 279348418 811001599 376827549 650557464 727511140 751735239 236625222 924643894 694107567 978272553 794254154 679118452 544516942 626181808 312626822 721695457 742465486 769578750 703167163 920531006 487019522 889395143 253634318 852595449 624017601 598393656 516308153 467824568 315319443 207320857 251214824 361909542 619897613 267918897 622391192 174107139 985863254 249673240 235602333 981840928 450692864 911542471 856140792 436502821 590884441 430297785 736186899 274903374 572787126 606848375 515776320 215506127 876314077 563772460 544303193 252875195 984798312 279816832 570592149 837684239 359174111 427059931 157090007 648204775 208784661 798986060 955147452 115815652 265170803 132350310 346009839 590088605 724653384 595242543 783475211 506577828 975648227 480978355 883533178 919873406 796202176 555580600 207687570 612707905 316641002 622629825 921399971 543479444 374038687 164282696 390119799 572634429 708878702 426728269 533482653 182506652 137392509 352503372 774453863 235164987 361380363 575745538 803144478 247333113 287883318 800416084 800403602 501807747 555388530 118770736 282811387 824944346 913644257 168929163 650756315 162185238 727236772 528785368 948667359 733042980 625020391 392310248 124477279 696577472 535914581 774438145 799901688 420679308 691231980 562982131 296254151 917693802 381085283 511883213 144767881 427626069 877320995 990982196 476468993 553761903 784129533 718167455 855556039 247704040 721839659 461184311 699123620 371588106 244346348 455628899 330764138 628440065 992350189 167421549 833254060 319977498 357669795 837871811 285197522 318237683 422718355 778606697 364465925 417626087 864235134 370901259 205854225 951501447 237072969 438497450 667461611 202681803 291051856 990957706 159955940 732550794 606299561 338478417 178683946 383411172 415229020 496351783 195681934 894060476 224464572 695829771 385119794 697719518 372069752 993082564 119410145 539189643 614706312 317565269 833050740 889805689 123719692 432234390 522075785 234373220 514991862 883988364 216985686 312436266 496584537 775414078 856725767 139429152 549912151 124207015 173097580 177570514 993762784 104728019 763840269 384816981 610297515 840596665 419967917 253039630 628592829 930139007 739665180 226769666 238894609 856829665 885987313 843592938 574313658 907293606 101665234 349224562 919172345 300385136 818266378 930241694 590566411 128752772 222524718 950631004 148443362 645543102 198509633 226892377 930243191 406999147 991344729 219316956 446303490 934156216 170501058 340112038 520638529 652586929 524561840 860706693 415530870 544294780 473975140 777077367 624965409 237944589 627698644 798966472 357168330 437255149 686623389 277933553 192806739 676784892 198828598 405389785 941637520 785224271 732578666 733815797 447959962 391502505 615021541 419858781 183950944 786352003 708450785 728022360 518559619 929213670 257152291 793455082 990367716 518104022 991768366 861619485 165900654 860258921 171422007 285739071 369603609 405368391 151923037 815993134 228591576 700994551 418068928 169451785 816274970 929706709 914808117 415772827 738854271 302004696 506566882 230216232 958761853 921021340 502217700 722267254 449964016 914466559 245334546 356309646 479296854 171593031 666830502 610943059 912817671 127330289 688398462 891855748 992651221 685376272 812024103 816589547 928402986 180402934 717625455 839823494 793081415 570930015 103116156 630578567 857471676 434263918 924892355 831951237 633875540 645250859 294113165 297951746 950322218 982364641 639465388 732068133 820491072 671789389 703672899 329245360 462968975 269993855 904293591 399780947 676518531 442223899 449290373 770999500 164266811 118181852 647413823 454255167 257326772 909903049 388439521 483566241 907379707 315368365 861034606 491668284 807056042 973140718 328152549 473616796 521836317 997693093 801223624 284829900 385289256 260034194 870652740 727584681 632843957 104095441 320262333 451042116 574292711 190812698 328227804 497950321 128892171 518818815 979571609 108054456 884893114 605763983 363369630 282447239 522677701 766272154 538549698 140895659 747643833 902470576 386963218 390179894 616998196 571248338 670823856 348859592 742781495 212744291 843485776 520039475 515730449 934227079 667811806 328600849 503065161 111138936 369734549 223498507 700735573 909248980 258308513 764296199 743403499 397595626 378220646 871887938 404015244 766761837 568460711 766356040 258196742 283031948 430468926 631259564 982011012 291497035 661492178 773932831 566010784 963267747 117235306 290871855 158555959 902505055 621875943 964612024 793241558 970241346 320820054 735492846 434408387 123430630 950679792 341919697 666338817 748425329 804982288 767512670 898622103 587347183 737685337 837142962 132398246 978922291 431595249 537040145 531806499 967001251 524302259 848325786 823301065 500352211 532770562 877866797 561711766 346939023 256504039 789045883 993857589 356267922 666461731 489065404 239636532 467668431 953797088 564819773 423144642 931739296 374459613 641256526 544014401 284872829 779807844 958936726 688780325 459385864 139391288 232660863 666678901 351520214 833788175 422029185 209694536 376803635 685302358 605469231 601637420 859926069 145115465 174676980 706341979 844614870 614072784 723864839 602313090 904363177 493273932 507582027 495348917 254625417 741328899 849509888 100729323 178600383 845753519 220585467 658101769 714987726 650789784 621223548 165154909 561621353 959337738 338700233 535902007 947390574 234917638 780843698 888382319 693061884 585543057 343066913 684073286 642884536 498746777 158279403 873550839 999958734 805999263 968257548 722985177 238429147 966267025 747941252 175174223 620207634 330746149 439358714 719349233 608120859 355499348 397809806 438655697 855661941 464378921 577804895 386904599 205520448 670546980 567345160 242446936 795531435 551540140 856050203 639776826 655821796 828566861 689670783 401947984 814073899 146370148 843945017 136895746 710874363 712782998 951838866 587939690 303996545 658501204 734692847 261602594 851573520 522513303 595193509 402988847 914547150 957991755 477706961 142302912 502914381 428663190 830179516 302743545 548013326 794462244 946952629 631086407 945020718 584845063 987394537 829252791 907115609 311327832 354341395 758658027 985993000 702981240 726873067 712572503 643926034 609762707 516084011 513800741 877687306 747656937 528503116 879928773 437810680 603433936 638651723 822475631 420686694 992450347 862579182 432907467 409933323 686288092 214355301 752493727 452773552 139136621 927159826 476886038 605072981 662414814 594061851 188696385 742250861 530316958 285115784 560189386 441834778 845278187 215746182 584475249 756836770 540168401 240108434 316003879 890623753 140659538 224898480 440748952 412004583 873372072 344704996 795508731 787871444 223679010 171542473 901505507 637340083 542964967 420481381 815239554 915993387 557046156 477900666 577591578 562941814 799812413 116890265 626359158 733551511 998657696 737722310 445495550 878554263 308606281 610256533 515852630 646794131 765374603 968529944 492571381 401407645 971181967 274782455 623106928 796810541 599993607 379047384 161253707 584829846 152246444 520744335 706384194 144754171 392698259 643550310 784623128 930614277 862567144 257697389 687738124 774593641 583424909 429700982 327511811 667731360 769462686 716230915 735819730 103578009 167856529 482376389 660011098 772412531 769387457 159025594 904107682 419204212 246953821 653389503 134555049 471536379 377856696 505360957 650959341 732845546 948971813 497588582 346800556 211279903 524530802 880153132 105936041 431921323 379740372 477494012 714968079 539754434 223831121 581769195 456847623 859181767 885643573 233279411 551706732 990892952 384845410 166080033 758024488 404208860 697419919 276735029 456690047 291743291 759279402 911682340 466459254 249081827 152737130 294613535 929718032 753047050 832587647 369455761 886168033 480527220 426282412 608251911 860196091 934558718 327237814 477309666 819160080 350880664 858654910 687113683 475167627 667870187 321761749 704880589 502030071 355467951 642880893 728519485 519424545 314299571 376014061 979242869 958183042 560783134 359355713 958416470 855775540 586253308 846099563 587405252 429546279 901425844 553888778 506973664 374498776 353911244 624845360 925217667 259099004 440961999 404289169 921586154 512402464 414668733 107668845 288810337 721534917 334551061 920666776 849364941 234187901 973096357 940252501 331415171 505685062 278366535 582147719 645569840 310941718 927957411 207919865 699821582 901869414 586729341 406907574 799241977 458167925 562890969 244546227 332606084 391103244 470013986 433108552 844991194 536034011 252625208 441666191 403465380 906470318 226705944 113701558 499867005 603290261 184206295 687706926 380801616 465445688 968790259 610843344 589108771 482214719 924611622 345351475 718809286 303667361 757418265 254330384 216957063 858993750 300106805 359231305 782189830 102282890 173890888 416526966 123659026 431424681 629085400 515649065 410349341 229654132 841166222 590043434 422134370 899877740 713851791 439264458 139605610 326776047 991182488 200339729 387731397 181860844 851969830 734603485 415903365 553362626 927329976 351853764 196142590 158091234 813204151 635791597 281030188 442185304 436553011 576881714 874721605 481392465 506533441 633832854 844108148 516446059 433088978 153790540 631149734 145706944 749801104 395744822 699410662 495461015 299493923 766643827 552512238 645339985 792639498 504404356 629831106 375966069 878290052 575520882 119472147 570672231 399351237 664812824 412607530 335920859 415617347 557499309 978911811 527495104 960835705 529774731 689858429 145899252 516305549 572178096 497265900 563935756 441795363 957669198 667164115 800439942 670339355 288072403 711272720 131860605 231306441 110595970 115613181 197406677 855122667 177924579 989637879 458237902 443877004 842051564 942172636 276683492 871137091 295291357 138405143 717893037 571473048 659908711 419957735 126650865 666231347 811834907 527850695 306121872 970666475 298684516 199212940 159973832 353699113 630664923 123097450 208032779 544729891 566112921 491583572 135981859 619825447 467969118 960608975 414978922 540177719 949382163 720349054 478411875 914037642 233082890 464804775 100453841 963599189 396506854 508939579 110139936 377983087 255366198 574597204 492669978 147676741 111321579 234909791 282190296 306242244 761350336 788940011 850701373 363218202 559291552 665982142 793555862 631132315 555904754 904066243 238503700 613229299 621524145 609440990 875244035 213939552 738328353 382726509 211702579 627742965 522040040 142365592 104005082 897206678 480626303 867496624 760310527 621143925 123058710 201278261 510671002 565988952 879595219 869592540 776719179 904438395 710314851 591662296 753245334 945507255 865563927 514294495 313162089 544177232 796343980 693969730 660282960 382895554 442981159 972417402 854379221 827740816 514728786 489498049 258237480 164199382 631979687 277580359 918470764 380186828 129259934 936104634 757570565 270186238 496444673 842411637 183009912 800765975 661503925 291203659 319841767 894805798 470532976 130802632 866024886 446930506 722669887 395014748 772608119 719645030 166039834 370685692 124793923 464253522 981685789 924595125 765381800 151771268 434453195 815591855 531256228 708546097 451877988 266237034 431728190 715598457 909984947 936763755 425565367 272629903 299736497 346499291 391507787 597783095 795497192 584303440 215704813 262527847 924588665 460968701 478303582 594077262 671270216 439032368 505133182 352053544 370832837 170490231 904803491 813574357 527767261 316860372 802438646 967373247 163529637 141945159 703983662 519022308 147154517 562034742 315693933 189611486 197514360 409496474 844390906 570229850 974544213 477869435 743084747 185332500 398369352 853162184 810174319 160563427 413812068 474297114 381852762 397913654 489671475 379176715 340234693 423166623 215789183 307775722 898624314 402232551 651580800 291158954 261278256 416359160 376436525 663278142 237799518 711215405 156238943 763865865 171745879 424513610 508694595 468967348 502532051 691901192 842634161 816138485 184828998 171413537 216829560 412090897 389934947 948424252 829266174 114168961 397691098 386286472 983088519 819755231 550066350 708037435 901511299 667446559 968041092 888205860 476035959 381699172 113056136 907634870 230279278 607125423 879439603 258004477 193560071 113384165 566637534 900927979 752627112 514753122 412549437 396443701 194156897 516862189 347205327 538788813 276358265 283791865 739810535 243862039 873860375 757619826 106407017 944538384 852137122 602252145 420738926 101987861 955434951 756899450 664858889 235823683 521821837 328133926 294428322 989047917 571913469 177906747 156457556 813281689 728253286 169623908 145772217 283728293 506369073 539586278 288075738 748428436 447486600 366181289 602305601 922269150 627508579 895386393 501435289 886565475 311072795 388551711 105332873 482118187 729051560 180748878 418553232 511414201 209522316 157816082 906005799 711264575 509673204 778389441 419203756 963885205 215642687 869416337 354832227 866347282 488809604 138476637 808752192 806761094 692139125 316584262 988782490 378603142 866808658 318277760 271222524 808117481 497610026 440501310 189058009 108692911 709078713 185635305 514181200 317363325 743006077 674673598 936297045 279922234 705933337 706428758 578965388 231484599 589200223 588817838 905160641 927821705 346919384 966144259 861065542 239843837 229628054 701698624 765784257 719914845 445557274 712656626 789886339 103134377 712436807 696397957 599213477 746984179 498170762 287921598 585254105 864602499 125022988 837934992 926451468 767438186 447237841 795349048 508640108 954473723 900956794 474135104 107416018 487904441 900465610 492210376 180957273 994004690 524323392 190672540 145964838 212804552 299882232 203828550 634123728 967685097 354526792 275672828 583920120 575184256 174872029 954861907 799039985 843699878 108602893 525263765 164120415 364023590 187719184 237537988 114782210 544969819 419979922 602677697 142354354 426928291 745919857 423416568 512955317 326299322 391882960 142525751 455591089 791866347 726537056 515330746 723702873 528050922 516847670 936108905 159511774 677090194 308811878 212380878 772942955 484407265 321949298 137291350 272404841 763454156 423952317 709344869 335423187 128599097 665800988 383104104 728435983 470870509 633260956 345642085 954206852 983951643 982273140 412696102 325504025 471937099 496227516 850926381 125908531 271760438 293911355 628456482 299587803 531066104 700013165 227913785 502347551 421217850 222855993 635674688 661293834 809834610 160721367 306268722 889341600 344299951 185432505 622215738 950525773 126869375 857823081 124232517 666887849 459132618 294484929 119504231 646177766 188737894 333386108 509702051 191727367 960225402 683340792 845963082 134355480 215170932 241759365 507294590 790993140 394377362 761207389 323568695 332536126 421352851 301797478 921736498 369200336 438742087 809303875 220996518 926773809 170289573 851093679 778967891 577667735 420728799 257653329 800300962 481189292 265379765 279997218 932007404 339436274 958949956 661223047 251447733 604381513 889885463 417640506 893519920 141588450 814338756 904024604 182957603 547002489 378930103 974994939 640028684 958619380 574992603 475950720 191007724 596981850 149593619 366603643 443303937 421140913 376908367 389964709 808200291 394359325 908813803 869513169 837061128 813196734 928833118 532523298 396185741 778585362 929983023 346567650 110932369 866404555 538336047 706030371 229138170 831835425 637531977 378757710 669314205 726138782 407630013 989852002 192313262 279767997 569477600 961585039 603662340 688515444 497550475 981677552 337958477 481074731 315495490 608432531 130108804 684118948 939378506 457213910 957874113 278897571 740628722 729142341 468191453 767851408 139045981 698263610 605788489 370696910 569075346 467680125 686527146 311646299 375863301 369381540 694442664 484993630 152825904 590549004 704415277 840022588 242308570 592013296 956456092 782986300 110851004 282512768 298941503 641806964 447553721 751841233 935079008 971088704 886872472 661926451 676943968 124633519 850993057 876120139 185194469 189584705 869909258 528940262 109937091 988941551 117804551 426776814 350371042 595742215 323398068 410904467 393034096 466425426 786171083 208216098 997555122 958489751 528198616 567342245 755179528 367127915 464879975 559469153 747594530 504974682 429152822 361025763 265209760 764162445 939183750 362731641 282346422 854867313 669219087 419771746 178528573 203316461 425604526 196685875 659006615 937730054 438313489 991007435 799461422 783575755 689787266 500879959 346039462 599424360 774581089 967503635 291632407 268702127 783586703 208983379 334021522 241300410 781883170 327512639 511975941 442155207 371877648 514105363 342722432 123422439 545370300 106290483 808270727 928737321 604670273 760704303 729509505 758907414 808344917 959494686 103292030 153212144 450540831 881107116 217445956 258016832 385626603 242692949 374358625 827754292 465034575 427674341 552475757 498879186 754714540 688385911 126833591 577440152 648134282 673163888 712193636 801136520 225826585 632742106 123824677 342178705 564101719 628250050 307347750 129514419 626573016 144355047 349299127 494992651 672526391 274862946 409331455 199357273 108480133 651089930 566276546 653631347 654978979 275727332 208811878 893121130 310395553 919453690 731490373 903260479 309742849 487704770 736075569 550780649 232209971 841722395 239627340 948707928 136750682 400258999 155992418 108163439 103750548 456765814 218822209 373543803 834722067 664210510 721115617 141861794 646150065 721220347 704574911 860052460 394124710 558832845 982145733 110336990 463395863 480434827 666948463 248577023 756702793 815216293 205771252 578051345 794491357 372894742 715282447 541447070 849077733 697731878 317575836 478648477 158552001 985595874 607686699 665548342 973686374 332572256 499112703 563206921 357915373 989567451 845180831 327560972 796159641 447927985 876662472 778364186 730355727 820365913 376497062 410328358 262706328 858213417 708975365 404943748 145274646 309576679 267566836 109558452 945140846 509505958 330165068 723814777 826671160 147116235 418171532 379744974 379272057 845123182 726904361 847448925 740902061 863471917 596355805 907315613 842385564 446063537 781364257 385538244 337671786 600359122 811410433 191717384 136739121 623409757 612748840 493775858 613130219 274325989 925095244 988590144 202572374 129387488 722546040 310040274 971927802 225246427 434927939 986786305 301383457 506495633 689776018 680443925 540106859 911071237 913662354 611837337 815660036 137615395 178341232 173727875 614962839 873019948 384847215 175574496 471037269 760883685 766849267 969408929 600955209 489899126 454321651 277701117 761949803 755829875 245492072 938219859 995015869 642598418 691057258 104359025 428214533 602013858 849542645 724885279 525389845 571494894 683061397 383544144 120917008 740402907 229306792 103049677 681322218 494313908 932182033 546819817 540394103 379435827 348400558 538965221 583513952 237607514 642022653 441259070 942423323 420902055 876541368 621312747 927932646 266220282 827729032 428621238 150366871 334819089 576133874 490909538 177437669 674273771 969381949 946716147 783053973 344862314 969596146 444176979 381422914 194121415 701757789 948350555 452395371 501679018 704005114 385431545 473454669 295390618 639949730 394567279 341616565 600857821 544376103 860462862 110906663 554202818 474531223 537874089 953459607 325639859 983161671 132090400 717460946 108447931 459561093 315565822 256660945 249487585 411279615 668567490 720993985 264842301 493085581 665896588 132354146 937931568 748670221 881141744 274281759 796997969 350443970 923315056 405510912 594328211 404883561 237294932 745838973 597477893 163821362 317065024 634575368 761561900 855675298 783847566 803671786 641527134 947867169 573367482 609912556 884833670 382527639 108674523 832018853 777272494 146870767 966531508 158098474 239306365 350936405 956942916 714552213 219663083 798153250 647272412 250854742 721999692 825201494 198997221 647142284 789310415 689743371 113410529 292869348 539612932 803204795 388533871 960532295 742578003 496615551 402936547 390105715 449406215 853232586 665550979 582599286 332777026 685491074 940789359 934015152 659260542 603132104 718809263 142733597 857181061 636226673 956363170 124156597 907561071 617938196 462961234 363084636 337626662 326785695 762002448 649568058 312401215 492898055 915991503 808981170 834834115 538069353 318563276 713410142 689473521 338695902 393121033 297585550 210986982 838700512 914110776 773132595 355531757 820075618 274368953 312176444 714616061 718059189 930545146 643499038 742878946 728349218 961153885 277027677 901555484 154771725 635671784 387425582 938689273 633963116 131655318 125152217 740493391 861466447 403802946 529203470 498103268 269064413 231773389 692877696 577359737 988790795 224260747 603738554 574096888 593405929 633217281 625949924 401537169 422037478 500320567 824581032 439851432 476245166 510730804 529873401 135155436 968078744 154671164 361338528 705770253 559652422 234208039 759709807 745394453 604882180 215868353 677624672 158166123 846099067 589878459 270443277 989411671 824912115 670658736 215785135 128699290 741858929 444711511 701655967 627075276 869027838 588747949 368651917 225053632 851753945 570752114 524056950 161562632 180048616 769112581 142153381 132746430 950863717 399623093 298945067 767775004 896513123 199459007 805161470 374323241 381212427 813436293 466236865 746917761 387885161 759321998 508217068 151058428 867554462 767262056 482615366 131563874 958390041 901323035 236225856 740438553 818446780 385254509 222731157 995384488 636136389 327562456 907078557 402244748 285927205 481589991 365083578 527631490 638375731 900016490 873678543 827297839 754991938 773452195 952905503 441958783 363303669 714212229 209387465 855648409 498108488 460384055 337085136 517229170 720766243 252166306 667212898 995343215 183111190 727623418 478573500 334700202 479162371 710632200 726131110 167148636 897955506 392410153 457976962 445745790 542207981 223673753 102747866 246096938 564477099 436310889 605560857 775371834 213903330 223658778 447271441 387629414 902209571 391595195 111330300 814755067 188874915 698095250 232124909 921823139 708216200 711091152 110462119 869082627 616717459 820152998 199467187 597439112 683920257 225132512 823312970 922661409 697244181 962953581 855891067 253043247 296677801 711993533 208414320 756021554 510647827 662219610 420281010 873631183 571266475 193964555 321530351 839486219 539131263 286844052 213424877 262336307 455696039 822217923 876097257 802620716 449185412 613869436 875604380 530741078 906570203 432869947 601617963 741639805 970438754 458996082 363405663 450745628 321971601 480360059 556127520 811114879 801573886 662716948 112046861 330149005 850154838 882726455 806402144 516583652 583020885 160967044 966870309 192126878 343606668 960483181 964601122 502651949 570897238 225259438 781763235 417961868 188759082 870339485 840281486 598412559 871586021 148213702 446690390 214326714 634671283 939992932 479852022 339629499 298264533 637649345 847861360 108945093 588596458 317834568 448199545 310484883 715232800 596719222 169490303 448373376 977466377 278001894 166761643 500276280 450481405 807190238 767280591 981624765 796435438 829364257 678990268 380454069 339172101 130753993 401536007 949022857 377444117 443918164 754815112 497115664 516399269 186905184 961788254 899209309 875736114 851974583 802074142 169364653 861640090 758358827 241393528 578184843 177541782 936115374 210271695 143395023 185099829 178004922 747569318 396010276 218975442 738949477 160550231 827002022 771745622 258940817 881640564 273449385 977949779 749175312 831364767 209589206 979703124 541683264 154308242 522184556 755942494 414451712 928719694 196158763 849143149 551776597 144144423 358409845 904706827 652894781 555585282 306087662 534677986 354386758 198208136 943910265 734320064 638767872 260611304 969171483 734349349 101906962 999475519 299709072 252402533 964882094 565440795 731168955 913578433 663243951 498210447 677895653 264111246 735564328 694639663 430953419 474230057 205863253 221177491 196337393 956706798 533742678 888517409 539749382 513747542 829266007 940465077 320031399 788958495 259831056 435996577 831062770 429049504 878603499 490773224 354264045 242558559 748023985 317422704 266932108 931201261 223682740 327537302 383589204 295345810 995190462 758294724 615451834 554590352 695593093 775638402 246850925 528143221 548366560 853706912 957653732 884589072 144497023 912125114 838148442 548316592 274013979 635022514 115995640 993956999 784072079 535873289 798655312 882048326 466966364 713245977 636310587 949284852 209364721 152438376 751107617 655009187 466566033 611457694 369505142 803012882 294298291 179354846 717336208 335831069 216812258 756832856 563581637 403331416 466110048 679280240 476770214 882975568 498687287 576949579 171185651 488128646 600699440 395216369 984600068 806299002 109687204 187064429 903733639 722224955 129516701 255148816 343082124 502038667 622231999 719994600 187399269 120607928 961872934 453055325 305791887 356651963 350759620 995045508 306215244 442564420 976016077 661136486 276155405 116682751 495465789 794776895 838300491 349124167 618353932 931793591 572333530 452516415 943736415 926819464 212554164 627218130 723214483 117940454 934859277 148598463 838277146 523755382 317517193 691938958 572188549 648597063 559994109 386660445 662441260 476658540 736383798 136235735 531711631 140978265 891012106 866073343 864049167 853851470 312377388 459256466 918098793 570323991 972886315 205285311 344671420 454509068 850194055 251533295 195516217 759810809 502514227 952241618 131684047 191726860 204269595 339086141 681616201 872954656 682656306 739778580 495845395 785983241 380862077 294952654 426584815 727030085 131704916 758512350 831631258 840406125 680313193 102422401 289950991 447622000 342842122 283032569 700207826 190784843 739054335 578034311 935618161 375325330 842415223 272923285 940134553 511409118 741867347 882374871 568785626 735568420 311550379 549918411 644175483 617392615 233742177 503206849 959336113 597169951 397926724 827525542 918024415 740633287 361552299 892369589 184120057 287222406 450199257 715725085 876638462 217745191 572944137 787522214 966983093 853453767 293839102 486496035 496585549 885854161 598776348 150525309 741090805 736278355 497878920 815042998 351206206 360358480 932133302 247396650 265191249 552757520 775714496 817920947 142167763 649381185 534233113 305843524 941110536 845917688 178467504 133710662 743464288 277658232 297199202 861733608 718200840 535817004 747267811 815733858 363708016 164506530 199031239 517043085 251663242 600705718 332937959 268266900 286480596 496662595 314637635 295675470 342305805 392440689 291700772 542061198 611312037 910867331 747159633 262805491 467021293 234126252 821999669 679918625 308890957 506661811 769071836 608945091 330100508 149795838 163074257 312805499 740659890 594121856 916045101 179723701 399919612 572393969 972609290 146731352 667622567 994296615 531874838 212777311 908967347 601284767 461282289 147755219 245657820 696729568 439712640 869295703 316729577 874773373 280372429 120732904 617295319 179229687 265013805 991730917 239430941 447472705 683748474 381058771 247125969 291869989 422524347 977638629 171143043 176906694 300454733 733234731 630850737 165237271 425914475 476296706 697802937 585797297 925395653 992006383 185814488 292859659 323275635 853459897 317660675 998146488 605247527 138089247 570350095 836112594 742645686 839048691 902174145 316231925 277020780 871766283 233544104 652439079 470382869 988115518 436581879 486427332 727017490 655376045 259903061 554241563 728833736 132601627 875374623 709177330 197582891 817390221 632187175 302689941 618145511 733548586 302572827 989508159 404890097 119014910 210217979 666311581 458454573 838319178 804013308 790160220 342229508 312145024 149697568 371914684 547169525 488292447 946534025 892021147 684692049 918976711 815086429 173359749 407170810 611534031 445349293 883700892 615039541 517693391 358571483 392518049 266357291 393955419 929020414 541688850 387100213 689988387 181664217 840877517 345310453 704495810 571679449 946751381 137143484 764118616 321192187 922309910 804075809 505978028 963396468 668584357 292145975 694503605 953238940 773731057 213663704 248673197 258754984 676123406 298123292 494509952 191497353 674635312 684141836 163631246 569599003 518623739 493201235 356079960 867678135 508879479 914993725 416712640 329063219 150404394 937510851 426347624 201371197 297953043 333696737 576899173 417142994 157620427 697238716 232261360 231266556 100576909 120812472 313931845 668680386 183442511 512670050 757006222 523474374 272056075 487094181 469613960 535615522 413704435 361551086 212802905 659273453 665607498 847777838 641233747 902425768 441817220 467711696 599603913 448994929 422591625 267393371 276632930 485668931 992232289 768607780 728612530 652793459 944516396 746251932 486524242 424329950 668846136 148054027 646319955 205056090 454727699 147314550 379864200 151409454 280841353 973874206 279495106 125235711 742405175 159278966 528942586 531520943 742703134 644383025 272123440 876602859 791473604 681770054 561930396 516519798 653532534 894396237 341995603 489928163 102318443 585964496 390972711 657821008 232891494 227175869 380691636 473632332 141112860 490658643 888892806 849406151 816776408 606429216 714623573 132321727 815959813 243918542 264657494 641478561 505272244 311377865 329548755 259636724 550910189 567320580 883620783 201100281 501117238 261772622 431603942 630739604 878616436 505526994 544534508 504604986 397878893 679140632 303125840 896269503 132021869 463217819 266831793 262612636 229752036 575891992 773980195 587842625 284139984 774723693 329741483 279915866 563067939 299314089 972855729 794518598 786576597 717052795 205149472 527325366 524371390 987478714 532316409 554803662 339726315 851990109 755978528 314324993 708822718 620951015 319910427 181027099 143216948 738984215 510559070 627834978 734643831 417310877 665521707 649448480 583871171 827385176 512635969 266689122 433529998 407729259 797274074 620494446 246789887 464589108 211552442 347693536 778424309 697000030 812780896 364854884 429256765 469939340 211417111 738663105 444290827 636697953 590917258 910935142 728452894 394494979 250506898 435911573 105328869 661011736 807538004 789366704 775037906 520768382 978880961 446552089 215372614 655766584 152853434 213013216 953318236 861523115 502005046 366817470 246246725 569386008 526284479 680185650 344435840 542090800 608339146 381356553 751401943 213233231 258083402 752556172 637594302 785475414 112677752 523285711 894255665 210481114 364563825 513902712 168873718 766960537 767276900 428016463 427579018 775220915 464094461 124975003 747920947 300349926 191485543 749731476 170399221 438552191 934334224 305805051 387775825 721176529 916627730 876705828 189238981 120086313 665503840 942290624 190809045 271882362 217665552 520337496 365407891 129031929 283415392 765284951 745989171 484240471 416467198 782130472 379238270 613076309 873039092 847913033 701201506 900408313 375782653 150232239 472866784 112111136 751768393 920877408 228651144 873294813 459888503 935760712 206108966 729213103 600732604 219376135 230549722 212399981 685310880 105349770 646825101 962254778 229451490 346170834 561078161 791693975 294472308 581788197 744217746 686246582 471344731 930356473 275448279 985067756 397104390 323770076 254233311 179286702 176473025 483137532 361575321 825719350 479598662 694183240 353863172 497667288 359443629 362968895 675167399 983624704 772880813 523746850 225582975 117650066 699025950 328480716 129547146 862140462 276048241 695026568 300354775 956194813 806144718 847974772 685017207 423856118 763342359 924767704 959259440 704930811 460105584 701028574 647997451 137314463 743500190 236723512 463255675 426507712 465398501 294497808 326701758 309063737 822363493 469224838 203068559 398768757 706147878 898106715 143112593 993064672 910580947 673558711 616195403 174334710 164450442 556820028 225468070 570111260 631533226 518408427 728384985 221513886 371937428 698581842 642382060 473885508 217159263 936596623 472957360 807415024 741342568 536877529 458620730 116724961 650975899 970793261 800752159 547991514 220447086 287707666 111063759 987461408 386248064 292989335 481600508 346235300 819722374 490536231 492061495 627546014 107341578 965888641 697809496 377874669 965647819 607336079 821661961 276692715 611894925 292678911 613078532 997423414 217704716 214484947 919304168 919268241 209250069 124681361 362757809 734549349 752309791 947784060 864592170 366652918 703771735 680883518 131714368 769235066 118927204 912498568 394999653 870047161 264952922 978468536 323453470 383439109 546719197 569999063 832973485 938150999 222212591 382126295 190368441 801691441 824826880 511645985 685757070 749463636 807695050 198855545 143083727 928324747 395948812 888058504 887262745 930553908 318448669 979867442 498150520 134253281 194705643 539388759 601507416 547775844 973720927 948467874 606651345 872517185 505858965 226508440 118480886 224223702 622203078 634378866 438787125 964058123 683811168 631524685 991431081 544272359 201948015 754034529 446478224 171571618 478761929 533380474 130511763 412751439 164302107 399281336 829407505 410699383 628745912 690579854 312291290 410896185 636988703 734338671 780882898 554757070 751892038 137474764 328232015 174936546 874636591 192642080 338453995 321518879 329394517 256089909 820271442 275998511 698856496 774196053 518791507 758951706 760310257 508921263 862768930 758622591 535647317 177553976 455672954 206021777 771262440 239252794 344430621 645046224 392047982 474185158 986313428 786752858 172347014 926849312 412408785 189164728 127810643 979826800 219678118 270022338 132194634 878360988 734189085 655397802 789024220 478252853 906879361 603772926 244446790 460024041 621010013 169523214 151954121 588489192 375113450 270021815 602889464 617589894 760064973 693963468 343900250 733229827 925880009 261657322 911293708 756519930 280302952 961999849 808720198 434794864 935409867 934393805 402180047 858444771 267833825 312430142 465613775 934735011 572915938 851398003 767026807 461836115 642779946 508069982 420007795 555214635 491514207 557855922 785935366 920219344 607022817 357726024 696614732 391443609 550722816 505226959 628349929 223612415 641790604 436164787 472610348 404288410 221079882 779498508 566724729 513895588 980126928 396990685 735935902 241268816 552019245 676504796 339058388 410065802 137948357 186897297 521656936 781659260 592881204 749098294 918489042 937326747 604969045 257640667 751034847 420382445 685626234 729003226 677344741 665354675 943522073 876610434 636857026 167907466 185280207 981744461 486144425 894026412 928077738 744636345 750766458 362843278 239022707 261193905 563882840 253123208 916803021 187834903 723269602 200151672 273157014 339836211 336073392 243727734 295273352 287188739 570262086 604566536 386155290 382919934 597100879 430765668 597853836 582395135 366574373 375782543 566095067 623945020 815029131 714836951 149338227 340463860 948886479 266022036 796876631 762778985 955511073 278193797 749461788 305021017 156070783 471975117 803412540 788797642 371986958 251007272 907753151 559438410 235099940 221448253 570708863 158883639 924922712 332814796 700486989 825980402 379025425 783268245 453180807 817597727 539911100 241012553 648839564 685939385 668923336 736253318 149278203 893895198 498820203 749991262 678042181 354740756 907845388 590774512 396301695 274245025 366645136 865570293 991613673 338308636 673483103 479790877 470245720 187195512 864969628 246476948 447853823 469039996 996655547 173867130 668157154 967101726 924673476 919749236 284799968 169433272 930743778 187644530 411481986 577048136 112081251 158847621 630330054 216161587 922580828 874525924 227552791 119146315 319857259 702376065 664715076 206040196 134949158 892325610 860409791 375388121 163339058 438006535 800776910 997449167 739536339 515256722 666107426 304856532 187376902 306943893 133229598 174513896 208890148 219430827 785684429 299908130 280789643 645094199 567250209 590495263 386787888 786042577 741510613 434871996 678036121 728339601 233244570 711181791 802968808 593173747 930938142 294554451 129942930 508358976 408090952 936744333 288813897 586043518 364816983 297365144 953455381 400193605 916677255 599706454 849651276 273798598 350746963 337384729 816362748 715430937 871299454 892032928 799296472 300130183 725432069 347945515 274031952 124813710 113918620 177148473 491926082 769793135 508546559 924043123 302699547 342622998 618772216 617281143 419863278 139200390 103634084 488020544 151471154 467740362 295800166 678753564 391417098 511004962 608356502 321570242 103067663 397476197 604908357 413542322 638548693 434562637 385458754 514647118 604725428 209335052 238108057 229628027 938115168 604837651 863944172 605967143 952410555 643726110 583805533 245979169 658802685 565252116 873910892 782728571 652038166 535350269 970946303 394991964 876644778 843140788 214212761 507251858 973064065 388710011 887606334 536707489 737077926 995527121 613601706 196234633 630904739 345024587 558914717 727271080 794442431 566639431 185395518 279806268 445750261 229162126 281931959 593888994 349297508 825865928 866973187 594595785 184810847 410951797 735840170 437290957 339362047 406872501 809063195 189904094 906413588 240493905 763722587 199427337 200753015 691123982 611009191 108426864 329667629 670021356 966941364 263485040 732591729 212286582 833129890 293577608 494333923 286030033 174220548 505543545 711452198 487943853 795222195 681081983 561206380 966132875 107360526 898505259 221340313 167834576 854573631 787124761 462308202 957413286 973692753 340758073 368885425 253227696 816169686 676842948 320664569 401123998 736526933 506086568 181540912 613783260 257471542 279049054 716980824 510024040 417372906 855225867 265176654 492092830 917695272 997273581 352234881 934789872 304084953 970948882 853739568 272791617 733718059 241878680 315932574 747548209 247749114 810851121 763697132 239341933 965409488 126021173 304505725 245371880 219806227 516848664 725520150 530482238 691931322 774976151 719705048 556165961 633841984 652668157 125931076 415056566 711943704 814008363 307292023 166706633 410947121 223514589 402474163 419528123 358731206 175217307 750910670 739291579 921418562 744611903 986903924 829224908 618341171 859295657 507655080 138566181 849884345 190050069 143631498 659682299 585708767 836818253 868492872 730500043 673185531 226960253 204031883 709092467 713865800 605651588 627782239 725854063 428688183 173186795 102463008 725311253 961083508 357047997 853528762 325384644 402846699 684735042 928472731 827570184 883159668 619520267 358820873 216938749 641929937 788323040 226834999 454050403 977855457 259149674 821998307 719968279 172468868 528740487 961614785 102763803 288858458 825204558 471539445 618356715 570334309 476433415 832088532 417260824 433083250 607601323 837755971 935920723 714661910 442265862 941450070 645883294 759090216 132092318 407860451 371597031 685458495 341567818 400092436 268666272 766907432 459862900 995457629 208066220 410307439 462906731 405428096 911644918 828634071 458331658 445854848 269082156 788893223 661560165 362993890 158272217 895819353 351200862 500308667 979725670 307419564 987438485 368993477 740042102 919421912 806387064 656050611 221672841 396201580 345293258 380063993 805985789 722655191 329267801 470023246 907472805 456378441 837348821 627073670 679025660 197136485 619048649 315727820 352738911 875832590 397693385 715890998 533456735 416326197 259993032 103031659 891749166 184788568 884624901 532019892 324370529 354781390 284639809 326145255 133887724 415800513 508755315 104662403 174951843 230263164 237557033 800170744 634995610 975064233 161910533 576018773 114157819 747937639 573104573 564796095 251438050 186398872 547237745 535970172 153555984 744881266 663426071 555503827 223292375 651498304 901823996 505738445 233159902 621663648 360379907 101984923 520238522 758570831 757881484 608879595 223891465 658924036 602556190 603251314 542998124 188582190 911493909 904143490 208145418 732546877 585997976 320962960 236190281 784215820 141471162 250986356 841831128 546165029 708003219 866774157 452169425 351345102 506828855 302715027 497612356 755437405 162192424 210521225 351604818 354633618 980754268 942795519 473637407 800596106 293259557 171105780 386657258 373217721 285108956 693386166 341922831 747277603 163834623 371207348 840391390 885254256 507390071 714571149 407208955 919082775 857799349 955508610 131847660 922450094 535628395 433580722 864722829 557657709 157879731 564180885 962844891 515707742 807273433 731857780 134600911 949548751 915432904 382601880 200335605 186776268 468905911 977028629 282839971 143834789 589277460 360146128 533908944 353583382 706495995 874733850 968400949 657394517 161148208 976912013 505915606 465910822 533142812 479482570 303216164 944749146 496659455 294042989 640890218 173136407 811578663 257660653 525521398 378230115 166723517 605432772 353570972 243959256 980575719 511909773 808464769 481663229 714355423 740422556 521005035 847995597 854706739 890009093 127398753 338138013 743848161 787885318 345156952 828600320 166991648 110252140 905052782 515115545 675020623 675902345 182069876 350712953 618499372 436498813 674992224 914534373 825671682 589726043 181328531 719755619 981983136 517563423 150840415 775343400 323954635 388744383 171406802 311622017 760694079 845352611 283932088 491974688 645581109 397631141 916696702 936517705 622485974 979364812 742518596 328091510 642866928 296020664 802713559 776718143 471851467 258637500 627866753 283543524 585586808 889246826 949706378 138713308 860697536 925169736 999053948 873627784 256545277 987294274 364349274 166229355 379167179 220517316 562090449 198546719 658484671 787067750 421479423 740778901 150899180 289304082 721681790 230341555 883268440 934927406 302334415 328029603 655635889 804096058 106871845 405751222 384269478 267350402 941619528 539271719 776851401 766293917 291066059 570881536 576535637 320363317 293656628 822315690 133663257 914113128 139053421 553369648 408937550 928789459 875382178 784294842 233437184 871073329 248722422 549183532 681097717 647166012 866821675 322854008 992504192 279163584 330559252 608957715 692421648 967032518 821679755 277305594 562424275 979575105 604312902 834544534 220988252 191816133 807954879 536277010 349350777 458901443 136510855 763538858 247661348 140229676 685474541 615188251 498487241 401888047 254772349 134435293 912398047 509416901 864197419 995382168 546028805 338040905 560646695 701634899 902380782 525046038 928114858 507933253 320052359 728181435 601038973 866494869 189072937 950817570 934681413 420054098 366480923 313281025 849742576 633649960 610926212 154774117 428055037 778707450 891446588 950561720 834326765 346356004 540183949 814139276 903241065 979658353 558327220 183678370 972297202 503472201 553759870 278804246 364812886 342940406 247126610 857274906 706832640 599965241 595295536 823193370 925779279 539807932 443720773 909533257 894847246 186319413 303763205 640797949 521026159 391861365 546604813 654487497 155712227 666470839 348000726 195285083 688912404 558246116 689839406 330505221 290569046 567588820 756584804 291665983 525715854 175604561 281897567 771132717 843238586 601993845 365984503 430222808 603416952 173615458 389080589 696083995 263811350 764727560 849480521 986774065 261973898 988038111 763906571 583674996 204181516 744424890 291533657 552962801 813173194 415452476 694658129 263803158 886684351 675778586 699558070 587380166 771039606 530331614 598103425 154557445 433735071 769138207 744847600 837098337 854053485 154713140 319809336 241180682 729098700 753166679 345334621 919484510 808329989 250929434 445255594 995977134 581113679 453376009 898041655 828275931 867770841 589923376 585819313 981855985 970287714 311498182 945654897 924218125 586170259 592961854 520429723 385676237 114314187 450882632 960742118 832460118 221929821 174182336 963475129 456126439 333222146 354769878 707462640 396915977 505358593 790592731 892134466 646493357 751415359 377559285 377255895 881966170 581556922 727042140 554823672 421673600 709775286 594270607 494266848 527516754 573331596 388701452 582007096 491476878 737879726 593024104 584007555 344758066 807340936 322191999 130303846 170340307 273928483 124879086 687771750 683455045 715919397 139347391 377586493 660272290 545375872 914975106 411573781 251776089 699943279 827694789 751298965 134414386 412487135 709657210 297754531 607149009 527957317 762728121 591722574 529961843 509641571 501790290 914815573 477218235 492701084 366346234 782439307 874694746 839136599 233226921 804499665 937302073 939591434 660033917 534972617 154435409 496828845 350958581 346001018 428714634 848586633 487848556 981565066 556054177 206676012 873508004 618109588 181581030 454795739 678801815 904537270 395285220 443841511 409634470 328611519 910209796 704761254 169243352 694637083 142695978 623898019 562048291 501743374 574874791 351299040 124057618 258570150 990022616 263935562 650075956 672487136 776912640 886855408 708158603 620870153 854990069 701596308 654146480 472223752 920955075 436871660 552852508 504721528 461169613 192912366 685196307 784245829 538965941 689898436 665244040 411557891 969614509 415734210 790349319 877364611 137265632 870834831 254150469 422176536 501426816 791783916 933901008 237720211 802477938 783957455 361087762 879381847 446424388 275231763 847511060 199441986 516790417 573722741 253968579 176898850 886447333 752352183 301751796 507820481 359650185 977535633 762582886 875887474 116451325 578646352 402533255 356790986 206973264 631709334 536540694 996807062 185846139 795664606 805108573 127911283 255498238 164996474 841600647 161718627 436892011 788264327 669869888 856332906 164701210 219339395 194968400 195139474 980509496 145215722 129698227 823606253 257853243 584047994 719310825 561192681 139451889 274884155 704390184 655047360 997245270 777461527 624556014 530140018 630440320 419264113 961305627 897446144 896618035 227810309 994747959 375957158 286737853 182693004 975978478 739773252 167746961 152176813 889951074 288145866 886061354 944841307 467120148 480628034 927986931 287073966 941199680 236096033 603427198 908245077 470083242 461448109 469535906 734338625 691503805 251771308 442017160 297460671 191960411 214887977 790079142 408431966 625650032 118776137 341025965 896905780 900641685 430942345 910287527 373182579 765447753 650854817 259220625 871408567 770158313 322641185 816836067 654235569 448722254 346355831 879070670 679215366 110565753 200802776 534915068 332797594 950098700 860070002 444020089 938200884 932190420 247160503 774227241 193621426 987922543 979780315 709492831 760091487 827647335 874115754 441928986 628136639 426835234 261950873 967819845 902599023 389434080 831815828 120443858 627487530 856727403 101549232 394684141 806514427 490997941 137136110 419574933 598459038 156218213 388651172 291842730 180190921 177920989 738025062 333595851 783671655 297966527 278173990 751336356 984049544 285961762 260294669 217629580 448695098 670689838 656686667 307559380 619377857 341128921 121598558 697494982 831357330 394978049 662534466 760237693 921017633 120120622 189150440 845282362 679744490 822848749 361832642 933761781 508145377 460530364 216324228 843800452 195978052 507470237 367910755 431485528 431191090 985335834 173048810 177061768 530538881 711665565 964976070 904139935 750026719 740654302 598149886 904506409 153364692 602896948 259532730 694281499 401672581 540230180 638152698 503847901 551650232 482376995 290577837 253792797 439948477 957424469 835677131 237863502 782101193 583196432 842968178 225592298 700212958 402462498 479456701 504023272 423264717 949858372 366738710 610487283 169383933 769901042 225010548 452226677 232480193 226044228 958733333 615808549 463563479 347474749 877742183 523583122 806953068 328453988 682209261 378743188 629836666 615905982 530018293 754938715 231785172 672550168 731983235 424350128 301032869 915380257 587593381 586870859 157757819 953914473 784249863 601474382 913407290 976783302 299188181 110281067 705895182 195415631 240740657 483609601 559324668 839566666 885583406 774414766 599519578 794110874 966996496 773395934 614095593 554786776 560703347 412871348 312806204 297261658 707833478 700879238 556764089 762089487 265810197 773248076 367104845 655137552 541414607 325026008 998993978 136252672 118201317 306909025 696654666 396001987 169933828 647048510 452134308 801298582 575848364 208729646 492872538 344121604 708972743 621573302 490281713 787530747 276254858 439069829 562647357 324812491 444665816 897192506 232907360 872677716 704806344 170054470 599971522 114673216 275422820 739480218 205969438 431290721 630553622 143325351 415859088 548742484 298902940 450116158 810515817 489763070 885361289 382412652 572855038 436019724 652725715 632588558 364022335 711046317 702107389 564022611 988811714 539609979 979805619 382717853 691653487 596913971 619532327 945845386 584953247 539747891 477095068 679064874 343404236 299174356 664794412 802796812 581319186 441576989 316852162 615954844 218938188 559781008 663171233 334473411 407088029 733318138 464061032 125762989 713488500 783086004 646096596 811459234 948054013 456675893 235107646 488436214 790053295 490630779 524780238 894369665 562182191 717104208 989717660 505154682 776969352 886855936 604430205 293620190 597626084 109021632 483129158 613305571 245453042 317821864 230807040 342487536 314618265 918576487 660869262 738457006 832741712 387077928 813816732 874391371 159513735 204088782 216471802 707566942 435522774 289061790 365382119 646685460 811623219 366092882 197060593 279158103 667334987 391469688 558072631 277603498 479910923 323685693 551567710 495665995 901518961 171393066 543133588 968196885 426478918 809275945 372440244 757882398 151638669 879955880 152093218 630886326 142859355 155600997 654221825 180581251 691323940 669163298 825549294 807156710 160243670 230599250 447825061 453309828 996001336 588170596 224633965 339033294 912160100 980530494 356345078 886765491 681819968 354243937 307519352 656765275 738338026 403837368 855159958 419417417 716407812 234958628 113087842 455785931 482197406 117387476 208379986 384996487 176261286 302094797 416431376 650820223 159910144 187190164 767999205 859005219 607150708 664782385 294873848 277478041 344608790 612347269 737527180 315039777 173214402 549488448 403605260 123366663 852829640 776162691 285573899 868265887 632716738 998422335 233925508 761294188 228538874 531192749 338138970 469990416 344272868 649566907 338537209 182644342 483389791 457997088 817979045 348845084 487735028 823746627 250343881 341875869 243193333 770984202 325723392 523920136 612406032 210879515 742007694 313381741 583355082 830992264 803625177 405067510 831599521 991392987 391083418 765580490 997834166 990549748 826918002 374911845 221633910 634174567 451064400 633792961 491732789 913381394 230437188 112035024 793880434 315945003 629256497 249704031 684190240 164534520 308342297 125335806 322057325 146773153 513180525 649827505 934020736 854254938 803340207 486715589 738513399 323080648 459814930 986171522 807565388 499735492 243670668 744867153 517569869 241226567 795637976 663047211 239136497 620118479 848415987 267583018 626291458 605418599 781238237 197006187 344755967 147426389 854158748 323898764 842848130 647261202 490309429 204345511 179001993 474184338 388509910 440945349 463227069 982379046 980981836 947713087 180540261 260519886 307099656 203487633 980487805 120001226 627933782 449239336 299340024 660363747 232273754 957289747 136075914 790469724 570805268 403174298 820074447 302977454 928039969 189810726 821916879 762277043 618784996 121845585 170022278 166025179 300982053 614823722 572008735 107882174 284046705 844240540 477654256 159039464 578363379 900713125 767502050 282920896 712423446 813630935 843700826 758880160 660548117 665634239 894390130 273763313 779411898 678336557 309213551 659850821 159703938 707108403 565875831 260925433 469972512 996077890 443635046 740591270 385205299 830425069 342634835 808120233 478719303 138177244 333881596 716491499 200476568 800308090 487047359 149823829 831489259 642892487 534638498 767501498 467447887 248020598 167241849 131854478 486794392 744078805 742365475 303702793 254515845 557362151 393574427 429369660 178733960 126473735 229052212 883097718 517724114 185272063 574184735 397450340 110046546 983346909 243265848 893483554 205765631 729546597 385503551 235870707 423983615 723924701 178897236 925310676 322859336 449183745 141320994 492323466 886637724 902035019 741512222 790884339 863072195 448992952 772813843 645232059 647120636 501504883 993032798 277396795 730635417 470781607 826502440 526008485 981180391 169338484 634922689 961584668 554066685 926017838 135551925 323357732 852081374 584690681 213257269 659026854 404340805 532539211 454234424 802100653 145787707 228242626 792610963 606208922 928051949 391631884 874312901 498743360 419978107 172900663 372148662 592482205 795340218 126962437 409134215 155457642 740942231 130999767 341352971 375200460 764241388 590065630 772400765 185677843 496024819 914665380 727573630 746637081 674374456 744332152 950981834 817798271 454043636 902951228 938456629 785616328 467319371 292863160 669264023 455974722 292845814 161138969 976208926 354397002 193672332 545036685 836614665 254115036 456989936 876878439 779029313 724096540 967123699 402500744 974354525 747865836 326457626 734760953 333011777 769313037 298104151 186801618 680818287 459286674 110911650 855377049 711708665 961497392 723529687 526824657 768927253 323702058 339889975 436275477 770503390 809852513 770251208 356163889 857738075 732787982 603032843 157251446 884234714 800967147 752106404 528991513 199865053 833444926 742884804 798748446 814933227 872387659 548128437 115657173 905681226 716326751 507871812 934599065 705245106 127997173 998761566 430125230 909842595 227763640 467546447 381870910 857893565 939223654 621840110 379805819 439139387 142556170 516074949 770811191 192446588 336205402 546453980 498994390 822357524 864130470 765887590 798861000 611268645 397490447 165254605 453200060 826146181 456026087 475695535 990744971 624217095 705367459 778931808 803019182 910800353 272963768 275027571 918559118 582012645 431058985 718300142 776872130 458134023 598640743 229373171 706428292 810606907 358438391 594463055 219483741 656390503 374102600 333221381 795133595 278123915 493878614 166744998 717099136 562689390 922060986 744580972 804046241 772703645 209476918 904859351 327832087 279010032 884101070 962221767 147394604 765165235 793873482 339997328 735592343 322353543 381639884 785489227 647460098 153490032 949877145 896862999 580947305 909957692 267070589 518818189 581093993 982525139 928862162 994727459 406070303 625457991 134444893 967033128 425313540 459546565 225125957 645527138 978998130 279513782 722157187 557626436 564081424 157270588 175226726 350707735 561891303 825355663 862600461 890204452 964666259 276814264 867693112 131817447 545603040 848254647 286354165 123125626 399484253 513767961 299960752 390692572 944199464 918417988 668170696 574169107 978204225 845569276 944911730 898616147 347721189 255627695 672243470 877400370 289600271 409817019 897576152 772631202 561054182 531380344 281745095 134434544 668987594 501642900 575307669 169510754 195657108 330056660 573150446 731922145 822323560 691610101 399962353 322570725 234325356 799785258 300651208 632624626 783496557 699389419 998728510 356356862 715957491 195700222 185679439 581636177 510327150 933668006 624650475 227099353 731133795 649189295 335937153 124560230 247477852 391210762 481244404 528827364 960956667 325742220 538893441 773804742 394969268 999053567 622844841 998764785 471440024 841605377 238831822 476144603 263635397 658156410 279535432 837883577 810169882 665897086 577655498 178357665 168426226 161049820 191821332 158436524 688430076 660636537 286501014 499658694 250208467 269189488 317713850 623713904 136325362 462633233 370816212 261151552 131205795 454382999 838173828 710774173 655361088 986731309 111575974 629117450 703061109 477605109 115396726 278348051 669828875 443310126 106164373 572005041 825175818 760341449 376406354 297553121 786509839 418468887 176157070 624227601 795178350 823256989 277088089 196219544 201428899 210821383 282278188 718893208 452721847 573041080 144696325 434784448 663044820 592102544 382029068 900559015 108563936 742394224 620063595 560071251 539948706 659157026 492549180 686836900 384688851 492203785 586953410 671057822 214521850 516460249 320918145 901963215 646256287 251979600 671557206 615939696 466028596 875803593 591861726 656497401 240007997 935836724 443536021 312274854 495761148 355077645 212939041 361149933 808771514 737815340 758501841 517580861 612146628 499316228 337942013 249164483 969305114 237189487 131919659 589665080 245309783 517380912 894073730 482003152 377102829 532049519 951751251 828980218 820492093 468384516 716815105 553347233 152806150 169371927 297645367 396597506 256788836 162571819 497948564 975579887 770311929 125306629 101680734 907921627 874816964 797227002 147364821 396758608 944037951 404200110 473798902 712739177 606186061 865394366 326250451 653776221 854871639 972056390 962467051 931411845 770155772 221749318 244361865 437337867 933335057 410796645 844913130 108349341 773454376 779405988 950976081 944705394 369760005 167664948 118466739 207905642 761977628 694789431 943091520 908755991 506715240 392598684 922138444 417297131 677820782 999332736 433210796 364036828 771934266 838260513 518750313 774043086 361774985 573809273 492569866 977942617 101226825 565350287 430496712 584328982 166663108 208989674 615376324 162331372 174222008 230449319 790876941 517373458 938745193 752740292 918917674 315515061 782579233 307600919 186141917 570716802 380939428 106502962 416639810 752425382 420341808 782474660 878998753 979689133 791996695 898170101 784415136 633033956 775680727 413755948 695070933 713504091 407064015 234097501 753770252 915483250 778679706 481680081 403218256 182433642 314126730 330957645 693856350 238515651 564028391 125142303 157216471 642002322 556184015 720514709 304763747 977841881 235516466 800688555 668339421 902955151 701235770 705882173 217513792 993578740 656027804 928674512 929668866 857251880 861274027 172491943 616494997 907484088 699395005 695520572 686910378 958811618 869887896 566262776 458298604 648308331 519212282 668110696 801487857 979874312 912827319 351026062 995399304 750076671 875773341 378049667 358343940 244473327 881698730 115567455 920809579 166037581 695136981 414672814 770587344 909010103 876382329 607939173 136017618 211308295 983812280 865971331 250612880 117990239 433809330 896916095 723026016 375797231 442565066 320437453 956342677 740335995 706732674 537003300 489161866 469802270 736165137 285471169 993859144 366395363 589910979 637693901 423856887 736087839 685738621 206026811 479319289 829266301 160300569 334663332 783839737 722505610 649606790 641573761 298682067 238099871 255473142 626047187 811114460 607696534 787837706 322734621 435287082 992304639 879729011 788111395 533340470 828007014 492326107 401727379 178580748 867570409 205516531 457145489 556945939 404104594 886158569 905209847 964623608 930344901 954577733 232176864 450916227 650582907 136849526 671955612 809069630 631015517 529497001 645801317 559651404 247037320 817528384 834756923 712522247 242423153 312756515 942979062 227564827 406828278 317071274 910887446 165031016 871873160 177132844 103124733 664953960 935310041 840767602 765148796 176452575 519183682 638057153 825935967 119308578 654829209 519990725 606202612 900904021 817323041 798485008 282539998 265519576 484286239 968389156 466018003 216158250 863200054 542034344 124961153 450204466 421248650 916453151 965398689 218422194 167327106 646270984 661192739 750109710 355397061 961524163 119925114 320611345 826689028 955876908 387783365 537920277 872129018 395979909 218447388 516695590 715432831 253753269 657419015 591797576 463611291 213676303 245563317 775936577 250394992 392801681 748075769 641626739 239710582 183967600 939428470 729519537 344831777 983851273 370712927 229659131 434705016 694920749 606665908 500357396 302463492 470798901 886188947 918210644 526044380 290113626 115857628 219011147 128190819 207258795 302495808 210412187 898568655 158925302 909570197 508756267 647229076 798938774 265356257 426289485 722681211 805588585 674471721 199838133 675646300 583954637 245753967 854946248 409078922 688401085 235304087 543503138 413515906 364291189 505243980 661083032 527563325 732887523 986833011 390055413 610658760 290046881 243062352 679822638 480254150 183998274 379284781 885324688 437071426 623566085 867100592 566905847 883977575 413624625 309807457 671128582 590073539 987518321 580320719 292762447 583826676 925208897 560868593 232747385 698278385 492540375 439469892 190205308 422065914 994138962 262396935 312521219 697435807 495463646 643599392 868367803 434454291 791186899 442763661 982034120 870780838 733720354 393168690 877297251 439424285 870420153 549062877 126874506 534740762 878365426 734754433 428503529 273506514 425208327 741277767 856040148 357628701 477817918 422151670 954083906 324996858 394024998 610890392 933493111 708422264 947379738 422583755 309441946 435179866 449260713 153013704 392879471 982976495 195341310 827678977 787349867 858085894 829899708 743751471 147767492 163726879 758152928 253783635 844065677 279994452 200312431 301842353 607444086 413114272 815645341 106949872 205881240 955312845 438689526 981987373 542919859 543567240 276730469 892306829 620912284 509588535 563180758 104252090 392602836 598899399 175865797 816410473 362102856 558596621 355494671 909859434 313554008 609361848 156296783 963715973 406253770 913243983 789429488 172102314 302619741 637133141 675499719 849315638 539615664 397044924 938230184 616459434 227901547 847168163 628898127 712840465 537132027 768894733 215116021 796396575 137442733 956442019 419433048 602963582 423688651 296824246 497511828 174530802 953128233 838529213 862280598 114549579 138818930 451877701 179765605 926745676 846791084 844108730 285093539 892409168 920378025 138227437 691212684 786737793 620516927 317367157 823574590 171390896 653072599 998920376 796550437 734532839 879331980 665337661 972364162 536823001 843256799 200604775 783518869 522922171 953689876 428470785 745296742 994640727 748949802 362843937 571241043 209248570 716803655 587343218 603538965 333766008 901503847 603367222 761173497 622125412 204815279 141357381 179197989 266810294 127342988 339153148 534129146 154999816 755855276 600573256 112247279 423136733 895111352 550372769 514740724 130892775 313214686 769209291 553604255 782054884 837615540 918193903 893109516 150662407 616746500 796312402 310310998 285603104 357544412 418361803 944412039 753665573 325485173 576961337 124389602 864612865 521638651 810050696 297050842 192005767 574977067 189818762 136187244 114056848 996306773 416273692 809149836 403373180 915863219 868823068 996563320 246890764 445838526 295333722 776161736 915762432 876310997 911879381 765591811 227589504 378930424 320460082 257007655 581993317 850278174 305689853 795226108 341152681 579700392 716536226 550355771 207920590 232917186 556817635 102333880 480650190 333620923 302739558 915338298 996962507 364669902 234535320 987009347 714598154 844080800 548058311 840251538 860616654 524964238 387956193 824846344 172911361 682057734 775508467 940218465 997766707 763230079 269752252 577698468 709169757 159829197 703220759 750351293 640864122 874441403 611193911 445573389 545326527 529938542 678567722 766399785 434236654 559706318 700497330 836905675 976466019 680894456 209181085 892111852 928712111 613193201 385208647 345286743 249758992 178438057 395698786 939711111 970474824 666143739 161546844 390235455 596093777 685550218 217986454 206385913 618797263 856480337 942241831 688134141 160683321 291005660 316912703 234512248 102761369 877267218 956926615 537601649 705268275 441662931 635955408 185716432 901911689 328940657 387089849 393037567 405375354 412226442 458715776 547014290 984693393 698974685 464501256 109539877 245529691 540897799 153590646 992575534 270257296 339441989 143136153 741283014 826486367 795774064 679621709 370924283 168197907 767760362 270102907 921082081 345970457 871262132 681682319 665462273 710952274 371554110 783075349 741912484 754969166 941815086 148747181 998153111 801451046 932827923 243011810 444571219 999491088 777264980 825244223 725501323 857000456 521737466 259078002 166707161 241350153 370320110 513411979 901148892 535709462 316341093 523572587 104547465 337987590 650277533 767121257 810984317 515871601 305828353 511816438 671240297 333058615 209934735 202795636 720484728 375080342 399206423 847982833 918944219 996332976 302552745 236276134 321202923 860776259 166771360 278931245 735571000 189871653 176287823 631074961 339060066 680919463 390026203 951341420 445805023 784934299 788572121 814491134 346311466 211823089 826238388 990118569 214242500 195089254 231007449 658999666 834087219 179283011 611724268 737788016 487550860 766603390 817013226 976945685 642707500 258609431 309926258 374029154 402717912 423780711 688637869 312336962 976604966 461717159 735458818 444476773 788674633 322249115 437558170 264624333 878446026 932388046 448965457 632832464 376439028 404455557 365554472 927382878 964092489 539151159 273223451 970612951 985631352 618156238 608634213 890179090 697356671 515333183 106509668 628969388 252907295 614947930 316664581 292473713 728545634 617018811 233908983 335175831 907488728 348162817 145781720 857087892 511103533 136362733 170371024 526400680 534801786 105025626 351363476 735519935 292052833 656783621 602170336 869984643 530325424 745576501 424660210 421911416 203640671 179450850 799579932 394792545 327721042 444322286 712390078 710366766 564433695 951032040 467917087 749487910 666493298 708798550 102216324 696184676 745408210 614623384 367885668 844541736 252230761 912469230 769310919 835240946 634946247 835996266 604892897 628005184 895256253 570348105 665774393 157729958 307929883 943472082 643455843 487203214 769145561 846774960 402749782 501801356 962591773 312711920 708868375 840130365 640664134 489981558 174748545 888812052 399768571 423410199 299193619 641478619 303871951 610743493 203245633 873909875 429116917 301326247 782572574 144891993 928005605 457590026 444100925 806588401 573440687 555698324 559575776 518791963 395602779 179457224 273648711 757660283 691788520 876095684 756571471 176917046 920474270 299584786 373674606 486025749 923015979 533355394 669372594 107579806 300932654 150831327 936456334 399227565 727510007 666135329 723639780 608151024 770441033 317918713 876184361 787427884 276387261 941023571 365389424 711628280 975101687 316344616 199392481 740384466 400421577 288736829 558553671 458994483 455595579 346995012 843267484 593833625 993323689 711713881 702636596 857205668 413069754 481729848 496385021 827001976 411852180 677226573 559236111 462762140 142065132 402473964 613450730 591557771 722488665 908790212 296091022 105045258 139951610 364965694 763175121 429446378 514116446 547832850 169044067 432335236 568529078 371578543 375672707 825174349 682121382 334538329 644677281 808687301 241052201 319718786 978258882 605994305 161269524 265095020 898249212 879937505 109566748 412845919 689543164 972031235 540366116 447700000 704517399 369435094 184351065 760596806 921811088 523438715 562892926 756347072 631415861 457882260 304164950 650764210 886551604 185098731 292549651 270811212 265805567 361004445 466690526 123917052 243683587 989618863 473707767 607572147 783501210 389223995 622498177 186861245 991394055 676932834 392291134 831292219 493672847 534513999 906642265 538799529 305643363 635148672 665567229 606546777 258924340 796845158 252752039 104924916 747206570 613508717 255571635 814024465 168774597 866353939 202990799 234152331 787291382 882936564 164818506 648256275 724505398 744983391 772411551 763565151 425965273 122453420 441970386 378351919 167403154 124074268 997183944 790080014 108887903 525466895 978251797 693485689 588056008 577641985 150134361 755859773 483531126 216081979 932372818 303918176 614707216 335920807 753423328 479091592 324066408 795703858 489030030 599315634 814496062 956593433 567218319 411225460 626998191 119243646 130791097 971208026 876915536 200173041 187217978 398677355 657344622 168193441 522948734 767896944 510419368 577365348 808507815 649051971 119303675 729796777 905367891 928590230 206957938 748878240 656218183 545886320 153714600 761547652 292590786 354858630 922097765 578135332 129484237 492287199 999245377 932668933 756873873 758780925 457834434 475375847 825851066 404633325 337900456 911487956 408131569 387282232 675318080 167767655 602007470 880430132 379820867 547720776 353957117 893907059 906947583 253098543 957628958 477833343 702245739 888636563 692100338 190283587 250994531 276578306 547204697 413508358 356242587 446769628 835017425 758579884 222087895 830956099 657260853 393356731 706574074 901588237 998426075 795969158 867008176 240541691 448517594 208533333 101863751 203940500 431914966 366700679 359866300 381940339 525206316 470386167 810304329 829631812 781432728 786540160 714123325 352489066 689099199 507968820 128485792 665226534 705221416 508974663 503925716 763264537 445726525 375069463 899368001 113238439 796033427 382336152 136741240 399802802 986396080 644419487 306685996 742065150 407091780 694578591 976005479 819658497 499306896 911831991 827179088 376549796 362872715 506494233 474414951 250102035 791064529 868151781 608613550 154741338 576707331 204143705 125018258 496546611 129151285 753513782 662821852 502877659 737952258 881001527 276091981 544353285 608235579 994475497 999565230 185085351 967895610 501825585 386729081 276727103 371586791 670762147 188619512 393106336 877023986 297157141 934058228 756273988 907900764 492651653 284298679 778199246 840370963 588608263 847408665 774578868 154230415 683643515 192028847 878603566 333210499 126218227 667275511 579569178 317385034 179041994 951654114 139177997 114146685 265022328 877712031 592856046 882154235 818574505 671686761 207301051 957529538 554882081 296951116 339270623 553644335 233627379 165300659 153973259 475950312 656125907 811169937 868104229 687334409 300042246 900624995 543268141 927513500 573368005 316894861 613560215 273777082 986768822 353788410 270875899 930608484 743073068 811583949 445264743 609707888 710708651 937690661 267722597 398586535 577094693 203331331 581847093 113758597 198942191 497329531 511872673 344696628 208546798 241990716 390152015 356189633 175817063 925954324 879190042 859503634 914372689 141182442 958641796 527564234 478967354 597235000 532206020 114273718 638829157 565474012 543534675 767209622 482782182 190548775 637335598 410869255 766271249 273199703 544372397 928483085 784069907 160381939 359480910 105881499 162494421 802351094 334772550 332942901 957529362 440522291 650539771 124959530 585292785 375687086 796472965 206787339 705982510 492198920 555334936 579715679 231494442 958238508 187483966 941147342 841918741 376707225 703288948 822693512 856156286 131711086 465435467 360832762 707983749 974540472 867574037 191992085 201986590 281732075 371500115 154885569 484176320 780745181 716768393 128848701 257678279 691914317 561675742 214580245 325817478 435751448 571471801 878963829 412259518 528339419 151228263 861694817 395081411 739193276 255155724 243726826 239701777 469974054 697428334 525313720 259811366 799412769 513950080 364396804 519242074 234173164 947656031 498555757 689647255 854196516 654674650 119679910 539931965 755483744 680285029 624248655 190336903 164086208 966355207 628565364 684510017 598678629 751470138 606296656 345782863 238492720 196320882 100278745 827858707 691775191 597813028 287321237 406805595 752373958 641306318 402912464 311869756 607263592 171122176 682709296 231321632 328399561 850599777 129866370 724945260 697402898 681607965 472545145 137148681 937124766 717385624 386067802 496805831 485498480 352893354 858560164 633686722 436072490 216784189 761781201 486855422 101166351 445776467 885620210 642102547 804076129 618167572 376917475 772522436 930099056 813092967 535011555 263055396 214434727 584887971 490773005 417351310 622623772 561487980 502043252 635473412 674472050 294101867 117791094 356984975 924057372 808534218 330868081 995639860 690820724 916192731 251264686 420573361 734018766 932671635 237601646 646671756 911860948 923506428 254323579 243823473 802316048 669892312 627959163 582806748 427115201 310462978 855227001 851313958 251048344 214743879 652134299 852413763 880732515 236400924 640386030 184924248 563158435 598126607 741499917 663809540 499930023 355687287 766456503 196235461 375878610 839137033 628014034 761035252 148596734 826222980 473514789 461900490 200699527 714949611 307588351 733540539 221199636 234633544 283471879 977546603 449768760 204192836 728843214 192311310 247716498 279352250 728563246 337157393 805197016 403774343 954244174 359666477 208157457 306547270 396392717 585317658 854739346 620155746 486301775 293714645 539921229 150083101 319645694 835749318 675528156 298223360 978243867 333001405 777180220 696090602 710246202 778723489 110127546 289259324 985033710 852878433 590270689 120625939 409356401 695214129 672771292 632749203 769514746 538242082 162603390 974872712 484025258 284930821 496503927 476316464 291260406 782956844 518314273 460464468 726149903 977947770 438630521 244297247 572751539 717257513 891851574 981969120 837771198 649886471 167514691 953910717 555721372 294823457 922495220 344203951 936478957 376342738 146828398 139283392 388777278 435614585 392977788 310693759 241309347 446765476 986358338 385790943 515801094 321759161 767329508 453776764 444803088 123555024 456599022 915372243 284859258 236347798 532977366 526600143 877217026 990648974 425723081 930959746 916147158 677402825 184988617 573713737 985834534 181138542 847170612 555953080 620736264 287553850 357039859 605587759 925706166 992238471 463769231 515507295 472693254 241726717 997322411 463989138 551438412 861651121 186894990 480269505 789431859 111820776 439198390 811473666 552482067 467373285 981052066 927721909 117916204 854035514 568082784 347014933 942970973 479829176 201246620 311541226 228761915 108029473 607246139 858673084 980882722 264323048 524944860 995389971 734891735 863709986 815671273 251224687 281983161 184405161 383128845 367384493 651208445 998255881 700688441 416318605 770851856 656527332 252421831 419672780 457486145 845085006 593245180 395522255 806377916 369242242 365745097 200027759 834699582 152046904 416131355 972324849 835723034 514777460 674816533 291549568 579001242 589726757 303707787 550550430 514113706 528707662 133820234 635214394 376019257 918670591 744690509 839645403 864285524 377768783 138050901 551291277 202267939 624511368 232483660 369468680 520307299 854784120 836096544 729474385 411286222 453068158 930890243 542229216 834513689 106751012 569034980 832052466 711362467 270698672 500456760 190041811 977302861 442337725 290186711 772984293 544778602 326490664 623583041 318005732 412402675 444335386 168079033 914646279 943988622 188446232 148661262 526190694 892343344 334948838 827356293 859615953 594500713 723454574 943326552 641831142 993315672 413657486 858164585 323925109 952227075 915848984 324134848 679906403 189906694 551108339 549095189 572754001 446050779 836650783 101519208 211655537 284972382 754620214 238736193 449037332 764704406 547226980 764125055 938391987 579027303 596116823 956165126 401898073 963160389 756209676 697937928 267022235 925566109 514792254 945603598 533180369 944467512 283224954 652060118 737061020 879304750 521203399 723489968 446666871 577469078 910450145 761520934 540115422 547047424 532092319 522326104 611794046 637458664 500583832 958381584 104460890 812290316 930713342 835627336 609773262 909807123 292471170 716498486 241168238 194897287 231014053 853111763 329363059 498493898 576375179 533986722 659606184 182555329 755793023 902458841 298707226 465581259 335500293 636309463 533330962 127442547 633549503 617319072 826065183 464376968 421886802 396391986 714471559 247471515 226248304 544828247 590804821 936981385 219800476 634860039 817534364 193066335 962247790 677151143 282575780 778554811 518948126 541369316 122310052 237065694 369337350 777846638 315959909 268371619 480312397 389410136 841620663 626146893 526645607 350925140 835317371 295554546 245399053 623215578 461327130 409155472 321458186 421434083 803098753 806774926 136543381 484097025 658323499 285086507 880903786 208670473 369718991 280228109 472702857 286933005 430503161 311094205 719879714 213283685 491143689 547434414 595999935 582037640 679525367 675868199 878361851 540078060 378565931 942337179 406709378 819746704 490837053 378348914 782525899 225351050 499981589 744892063 502824340 699012846 744511948 323112061 928670027 604194711 653664206 734098041 388845382 342538943 622595905 258365836 500027955 246738876 646444744 394556392 566936332 903424796 646171029 901396325 388719646 659505713 701158600 817542049 497788446 497008926 150466894 430907774 691419813 180172396 638498566 297513267 799148190 635339480 450957986 888914519 125478428 256008535 403012807 997241123 994219108 104874389 918491684 285804122 421198692 513804851 125404925 651562288 700490866 976489589 403244019 591939105 480077658 270516982 400536337 320820578 636137639 305771771 388262853 146845598 780227937 964378723 200407806 186132426 593218808 322811965 281473203 725620181 257334730 947322051 419794460 691405976 314822623 372607743 717897401 459299491 775128630 277415469 543919638 514388835 864489538 871064973 403517958 426836309 616849561 814684610 432710577 648234137 995407991 195167061 459715884 791399946 943180595 527549438 787858568 722257401 414464677 319597822 184220166 825830171 320962614 440306922 559575320 671990688 106091974 552789161 329708838 623769147 502948635 235583970 368131041 777367562 562955922 840211051 162216919 658310307 965331077 100369548 765811261 475338682 103220745 366120146 767019934 902209109 760093455 970017752 143659187 817579652 666223981 456032354 875138951 142124049 541103618 290174690 243232606 598419750 572588296 401950906 540851138 559701375 440493852 573628961 979420986 914036633 732960961 166018812 448312450 201502177 822380085 440595130 520689977 748907824 838081866 382670999 715160092 790958241 835133142 105102745 516310184 208390817 396717362 516589299 842176317 625157543 587243197 920769804 749621068 347312733 232029142 856945279 772828568 776051043 651323098 321136599 413522452 944685821 731155468 881550416 748952708 373130556 416707891 406620646 526746191 337443535 554743813 969973598 829039139 709222688 376490418 653136253 692338473 694468691 878381740 699916813 375601685 602767346 542063447 819342820 524969871 987445043 134527233 653536445 284269441 483882874 648722163 477820479 486353878 754398159 194565238 341080246 940601216 325242729 856487610 307279749 786967697 935719145 631474579 669054666 619703171 176857047 171577309 882837866 691077831 842914068 907836758 817807605 518777880 878910248 580562520 701629132 746455887 470130729 466955515 274714170 475569403 740419761 475264768 390265251 386256828 682627114 543047402 591259213 446432438 503654916 412892281 662756922 565953946 683092946 800047909 806096702 771199840 204822310 637983936 647504843 597075164 167747287 515065461 156060646 196575737 953855333 430819614 657398151 416951336 184778645 481901919 959946478 809189504 874637148 744220469 371928071 913780761 199828866 681172929 908405037 285438339 523965881 321959987 698575115 532824814 809560047 560914722 479770652 649443332 867766240 356834578 737655093 591302498 294586480 138666086 647838875 168423044 453768249 657698209 565931176 725044275 622110866 494624030 686067308 398475122 906452572 707049346 966784947 555691211 215214102 276245669 902617321 123211865 395494491 579300451 925230652 478337116 633863084 617400319 890983509 652641088 899309278 818739232 881162393 157950807 976298793 607392022 664000918 485812336 715225551 475938991 991171429 292114175 805757854 335310658 400966487 574074142 417309649 816941593 657642747 198765297 877817602 229162885 837215190 354004265 415522806 822278209 947351049 524842606 409194667 646684486 872850336 672863547 395646905 871045238 931577226 560631609 296460401 226671575 338033066 898054602 175263540 735863938 619710443 166101465 512361202 319248947 996690169 655280071 575226051 467219019 311556077 775183040 513720041 733882849 932502967 195323054 286621530 685937438 885071492 998038054 819351877 926687808 373146629 856186894 161611530 169647273 897732022 108837064 557843348 914127320 834626150 458634271 115558874 549943354 241566210 929801353 482688567 136315756 559054646 654478314 295240016 590552493 659522430 301458979 104232243 578454186 555737790 357923070 228745748 501009491 181712753 864464468 847700890 825603209 528471669 569268073 154985407 311867093 441301685 250065423 333170784 256903182 807181447 985596482 638205009 661921931 329256963 803972539 889408475 754095536 726374903 214318775 131130718 931866175 562379286 653680348 270789036 697549415 513627309 461360994 852745901 916986449 146114231 740486988 214042032 618744288 697100017 377340177 722048214 819285493 901825017 848624739 397795115 166588394 595103911 619853170 925340328 379144724 967049667 566045861 241969979 602688402 423630900 128884277 738996136 948281186 111455834 133603078 719007604 740543518 837292037 833877882 944168624 266379585 149797559 932072302 534235235 793524385 590882347 348770944 152027447 491578611 375237474 338699194 618059887 638545432 562280311 713488403 149427317 983147438 761809458 395872367 552099286 675172990 960255241 729710347 356153481 680916783 827044008 914419963 107756991 905019709 233675642 709679585 138347112 286590368 429764203 572063427 464852302 550103713 587517220 327998001 952558276 806726212 379979992 738731185 359917460 396319653 437011812 448905859 388689388 245781214 846258863 772022921 626236305 995692384 574813759 423154828 560510082 434254298 643126342 150249673 230346776 967717688 567375954 679595268 826234163 182267566 189965549 873575355 839917014 696230964 341218013 562972712 304860163 483810338 472761552 423892241 217624619 318770136 591202680 444133652 168035184 388927444 942953464 961628105 768261083 386589363 918897625 159041349 697036393 587096913 626803585 481992657 175110542 683060355 407049981 533724255 222181629 642118104 299794029 651345981 346956213 998666412 779437675 299428815 367913072 707660902 584022855 457940922 253759059 406234170 552751633 686820027 107446181 896415574 276458845 510918881 818427298 816388936 671059294 115324167 700006548 906059496 456787283 282498010 875195743 490894749 471190223 659766617 305828147 899362813 235088641 351071275 738925759 496297616 604196467 713331551 148005987 985795909 169376747 166419975 920127772 227439528 565812267 483253163 869835063 921409977 852396955 595907886 539411170 890517738 886301374 550807780 467941726 252221898 237445277 720533683 916819240 563489112 653196306 781839864 921599382 627967556 168938337 258412601 316120047 631736476 389632452 428031647 580781429 720362273 626044128 471268744 465309084 201493318 172062941 366744449 323805205 154136451 963487269 498558208 636316688 215210409 169302014 556062713 923734697 800854069 148201110 951696624 643313891 605863437 872211430 812589941 882290295 581388757 761435249 715888782 819823866 191599317 622864666 681217173 201133372 292994101 931573928 270954393 903133617 664997146 308673341 385529539 837629164 490110486 130565051 306788187 247308323 639381818 213012633 804665231 355566777 105053148 834694169 737814840 502542696 414054506 804751234 712964479 365810878 962116456 558642128 475697900 197544396 945414852 183314129 427318801 871094534 598770037 756349372 278215668 750871467 387363572 483715928 562204946 402472721 456776362 296600884 264928266 807430744 292544159 674637823 858746683 539425733 599921574 482239564 768879523 304825280 542495672 916988812 395199258 459478989 585932774 281242501 372794888 669221329 950325904 761812173 532002890 366312309 868678180 273214781 540904686 475680973 104980507 476410692 419235749 175597391 184489938 257304101 282688146 766782757 234089571 707997800 639538331 267202803 460445234 443419797 775036713 849772312 616538627 790525136 648366076 309094011 365450040 609136230 226560514 291633146 985690892 107070167 422625640 568679666 181441748 677015391 390145504 254828093 903953726 456827408 140769868 557841198 940845488 954693426 859723854 543445873 978764138 360464886 395036703 682030537 996332381 282074623 969475982 978829878 924270488 728307969 767348480 119415219 120489355 287842807 239868237 371104172 630244331 555579498 341638778 752461683 303082980 338792288 172443895 636130225 168643161 192266165 953954458 974427823 602107369 737968719 245658220 436276148 651808935 651446055 853072614 864117292 459115813 764838024 187586497 706742342 322800305 643648808 280390484 207541914 254208318 369005097 681725428 666315787 879321992 433889988 450546780 349762048 774688314 601261768 510289015 484557359 221766065 444074270 316263124 898190657 576645725 709786390 868954428 389422686 144979689 729783972 276533417 364505686 954467597 319499967 717402605 565987530 634382622 914889486 401234996 330079849 940693744 572224493 738668163 171920300 946359225 402881763 208503533 597114164 377961553 795026786 671393489 857047796 352353573 389950624 549993422 309425388 232553677 911568453 448887588 393529536 846551711 234763738 502536459 637503524 353508228 915652241 279847277 837413865 720506876 558594757 415684628 529964142 908400281 570033303 101708919 631068179 488701634 107715731 259968869 145138951 386934372 663526330 995645523 708820193 493083674 864953942 405156754 148207237 200225952 265094624 402286606 333953513 639225236 753164530 498377564 816605272 200914372 919220057 523123023 257867192 560168318 358229634 154220362 812472883 759141941 869234005 903359476 712409816 657152303 302324024 254015794 429196439 421076375 715301564 858113716 613134258 962609675 643096568 624521522 918811690 323937061 919029616 623031312 874490288 357572103 822152023 246070921 982600841 780484761 273457287 702229097 724139852 819750432 403602909 227786383 990470653 103858660 334177078 698720172 845884950 700825903 862130659 756424329 477042712 257946481 321027139 373867484 533853738 425040522 437265299 945761125 505977047 191961154 129773324 942951563 191696635 984039735 605635146 281298091 752316996 445656947 401150131 472526680 629968031 105683416 321922173 808195964 664307154 153689760 211116445 340208950 673358327 120625558 116329201 252688052 899684396 697094650 613449399 621545935 413431469 390006747 133519970 854430837 738237766 635445433 791587950 241969523 322561839 458348911 180159025 725520459 819184914 222779350 714705534 109966656 568500932 887031376 312930862 634823114 230252370 743773739 864307234 998086556 505365682 968615365 907898664 994987506 728505626 651756697 623576291 282204688 621888212 319812850 801905420 876399794 905389563 298442269 220579532 764906942 399556175 709552446 686447585 638546470 580763359 376829535 860994212 825611354 233620277 113271241 712160381 262057701 414651929 726599921 768962411 783655935 917869507 743759762 303372647 455595883 321946891 877177657 136424261 885770103 258693267 257044473 741164896 128549673 127581696 518553146 185273962 872615336 394095332 849509105 289684062 743710015 355622599 448013855 482591878 674971175 113447121 256661394 865979420 688882449 615313032 138070765 314776611 649307200 114387136 420389247 715248594 114562995 978671016 869617507 995011069 785563952 844382668 273606472 692683370 890626958 905356014 397786493 308351675 616143916 986468453 657647058 923742707 699365939 553130100 336136670 461042883 316717649 777388957 170731151 176993431 253623280 925943798 250519798 233762324 542639512 718916367 595092560 635817405 192541233 719427858 858619836 877857525 360566340 263527189 319563987 342184755 783106010 129072955 969583413 317803378 285591579 349159963 973334723 743682067 791494497 306258292 916620266 669238578 962730633 150618760 129894872 802777595 367733310 393839879 454320929 922424668 520501105 500456902 667510323 694452258 550912633 600148239 100635462 169608079 963951106 191651561 736602160 621232120 513052061 476999497 931692031 399440733 952876023 899778128 873233829 922681462 867689703 510348293 953967254 492549262 136085116 349969281 624372961 916401851 589686113 694722950 468267029 881941178 125996523 913231193 889505433 179793411 788936985 962886154 860399964 969177714 748234092 315693958 683981845 301990840 818235235 685576554 515947738 701133684 470186586 816950811 727992411 330523539 435899563 246955315 706512510 931601707 165567086 394466779 406462702 353534727 839731948 851645552 617249614 456637266 711012671 992489535 525476458 831539752 319064763 751989178 371606521 427421745 860726945 177602727 943036981 193668670 380519084 116108111 110256402 920622157 775523559 572297473 395144885 489066518 684042537 621886162 544945729 639334945 763863227 333814918 176873744 160624768 146249802 162157522 225261094 799778453 639592147 931960725 552304008 795207536 980762742 610739333 712901339 126566374 241897822 493216493 638923318 963644996 608656890 504925228 564052463 283764121 543102129 203685584 215340484 818906470 129246401 746028446 818703043 929913570 993459915 462858141 996873041 519972161 462881300 739719357 705041243 424389424 317869690 916886960 835111664 297621251 381324200 701076295 957665350 228392801 369672381 414888650 627263146 480031007 679598270 975342109 846336827 488909648 303263576 608044014 570740604 520462007 665660118 919885019 544221262 757669217 218744163 709355012 471588473 619842869 497406931 524944785 962347418 456702660 599723710 359588812 513693604 328415292 346924355 633887830 384135528 100164704 369860752 655050774 345740871 121154149 930247820 185541916 946828487 696838401 770370707 614270036 788934970 959418331 970676508 908167928 417072772 509014374 444084050 596113646 240398942 102148272 971519315 994817034 421655708 251299641 472898247 994516650 750357481 458962470 823096832 865148859 794164619 372850342 263490388 886344270 561212309 322801601 716524873 971554828 939860854 858034716 228593152 971359424 560351082 365941899 535367800 343360610 912286040 895656265 409322680 512464367 515293016 970542775 402027371 742632081 745501866 270072417 980201523 649870298 475264651 287821001 192838329 585501318 357468343 943089048 593156889 505517513 775180161 150474908 172270870 360641112 739790106 210412322 485792072 673641386 634759993 192305913 878396048 918164497 484414237 786844386 819694553 809345913 119307909 784922348 208301644 203416113 335046330 818420867 241305753 300011106 397420071 918154158 687976236 128360009 178434021 509281646 414171328 287913718 123984907 816786616 299231599 330093547 832317583 630173573 393054514 238870674 691390520 872946380 916782396 188235476 940314526 342119832 678549340 173155766 567527491 749041907 557423785 999742885 758278018 650104040 180458311 581272920 745428714 836549494 990174314 823914097 807417014 173906349 826670019 987700105 211444678 954917460 142265252 656774677 675641403 733840646 293096514 346981261 267632123 476229158 189533516 296827606 833457739 209060100 767245936 828147272 655543572 170887958 674386391 267600064 679672541 580552070 265380514 395526963 654424982 946247179 886114794 324986108 831609816 629309516 616462187 764060873 359822130 566935484 782877474 286710879 384483631 740382738 457273269 573987131 623290689 497079965 540754492 127130427 188658767 277361811 691494465 554848107 413666353 701071955 882936019 336709324 396183213 954587198 476864469 496145954 311036113 105625493 204181918 873099701 246004775 500255784 337439394 431126719 756736711 394598206 675171322 578394354 243684999 695279470 804512219 120321138 140297712 944429277 760751056 787000406 302898851 535498118 875522731 434343080 487697984 945530879 689783753 975320968 484275595 202275538 329397763 598181090 399323688 482008892 819621720 265426053 429514460 637506060 756729685 121674963 972105137 856880083 379394078 223629498 222777724 760189308 351143148 128811951 804719232 376481677 594754907 474495019 895668401 700364112 612724702 274856673 303934653 639975284 186765936 601932822 649913556 288894959 635001368 436408104 265052147 659131523 562553833 603375829 722169638 604935794 689811776 554158036 879064395 224882170 673073066 624861296 152449906 654865604 522420881 788585601 748350697 371061794 990161736 971843884 808686224 608436969 300537521 988133443 282514090 655179493 252054227 115058799 453085294 441693662 935444271 362684314 274073398 866884811 869628215 633556293 530332836 954883491 499549104 746004467 544922940 271902182 623621573 903301248 328227207 637109008 647721820 667037480 148578546 974125037 912666922 712606865 272443535 966377910 198400889 111813576 938095508 773430481 601540352 229662448 657440011 587414957 202512895 295508654 949054104 103529701 519955019 670473499 239474678 631192838 562325996 127942594 999755768 145966463 629044178 272702953 967532649 174530357 191471238 858678872 259083938 944867925 152416167 932584389 741601044 752607161 271973264 117212112 566042701 635282303 512931511 959253443 840065198 458198774 272980254 586356743 675532356 495335729 556537624 603740349 185737876 311188991 143021230 821246873 150240957 810560865 876170783 490925691 892888053 164836815 324656180 792294807 912458840 867009021 299807475 925330742 262358681 655562312 177457340 631667060 946656813 738037177 854249780 124879404 508926205 928280719 244192061 241322858 137918724 848163781 450497408 959461057 458997551 667256473 709991404 910175894 208342481 873070900 489049669 539945263 797836699 309872955 794157685 222429946 944674489 695523273 788871579 589234234 725229008 154693547 100756109 185854050 432839324 963571629 842053410 448390877 416950011 757500225 363292611 608788397 478956510 385449805 716648340 428495255 533714661 335979846 157716552 827804210 789599728 576189105 272532299 114924726 869303369 714251539 960137795 284218496 740336841 567850895 640499992 147352644 183559756 552486734 794503113 755915898 911685465 544243641 288165707 116488161 644585227 281879500 761969495 671593833 287351925 839744477 976241853 380447743 466614211 441316686 344292029 397815211 624810820 519044294 825365356 546587253 477954315 527995789 777016588 353848119 961461508 363074799 733366670 508012126 273455956 195093582 126934516 890618984 874017225 468210279 189240279 895319694 807229137 909836464 850362788 867281111 949823951 829756013 537617249 385796819 237953506 935820186 514800372 106337889 858294712 888144356 659715057 709591972 569535328 850552276 330831756 304215570 918242145 881730673 131232200 731239067 538438262 461239060 491001302 403083665 172800785 351193273 751834547 458851022 925067263 551922284 775393921 546139707 398822257 315136347 544197853 492654213 201528291 434703270 129940313 147669363 734338905 968412660 527500598 905371391 502903763 157187370 648133696 636297422 295924029 373164142 639969900 896669904 433441213 585982897 105569281 195662471 572898097 629353547 852504979 157343079 295997680 361225629 653833470 935640343 377396990 759152064 865655721 127936859 108941520 612869900 188196089 663537695 552921680 822179749 111578945 546923084 790213798 390978493 255853600 922362601 380627473 820822445 259207825 231999507 848368504 193441479 485749519 780664208 187075281 945051854 117137328 374814352 753404310 235568985 608597830 236087681 284915839 228836998 504398936 763335180 463439655 719951404 473871056 938425277 880120798 414591635 106334999 487290896 104303317 505511249 494028709 853266965 250920382 853687748 762661679 298743632 158211347 199592798 949956779 127363834 318343822 327280206 840331309 953704667 157732169 692038792 631985827 465272611 157104013 577067776 335206680 533861176 805022819 213015642 658300436 281094165 754611715 653066058 149200129 783122729 324737603 151389072 886938369 653747780 141248307 979240879 174590960 393522914 327575972 849681649 275491216 404059966 859914275 628575329 211649229 441069386 303861522 614925035 723554785 257633127 160985325 880223575 767525212 881784517 160450951 310761942 371945409 493543371 317480880 793673013 740400933 492506598 222687697 947269886 626359269 727440098 203660159 520883912 226071402 262541669 404616471 727958647 391978608 995991562 950357396 709002892 151678178 226063133 545257063 208119699 142089160 413911888 944653859 176546661 251353882 406901406 723670654 467317657 250174007 366107788 979565352 806580277 344209457 586577316 382913616 689637929 375275438 566689643 979402315 234603217 462096259 770297955 343038103 307905361 502925637 179215694 452601292 637769945 521977984 808642503 618341552 248537960 484187170 119721696 576029532 878988022 363224749 410121276 551941448 508580457 297567982 423153298 886943945 139417749 955610363 829123073 165856857 107539733 782155450 859585707 167955229 267725441 976892184 455149764 609127419 106164644 472548013 648517606 644770398 879487343 720055997 549393394 944612805 237690907 930847317 514607662 231411534 412742167 363241410 684823048 283869264 232004156 531048667 475536349 794035792 400575622 842638530 795979346 477196182 118476053 198557997 214145924 590939814 432941195 558250336 368931905 203827621 109880414 308920836 461541108 146854695 300088654 709096490 865774950 440645435 576063302 566289256 737677585 588867454 699475907 231834597 635627673 371210552 313847819 646838878 788009287 995065086 415535162 772335668 318957627 287777090 145531195 907780988 322709822 662257115 737214193 754617892 836451831 392654046 378676875 681451854 359288246 654188039 290322403 173400002 400974658 954333744 445708277 194371502 983145375 397758941 208758721 904292487 502705177 669364547 438054775 953173954 481702245 693229997 953604526 693421649 657567269 591899630 370609928 364598798 565543865 764437788 481372744 788030347 594280798 370309378 880960656 491211888 778052607 657882108 847610495 423675428 426288070 832630933 888455239 651177026 617666553 464066274 769455925 436609484 371208010 236603437 826010241 839165015 494118083 905801320 229992810 407196091 586758690 224870191 667767999 515325860 510912853 777694384 148729788 884771508 481271675 676326737 496249429 261343192 980433277 294228587 144108602 259091460 905766912 919808521 895914969 595441691 485482520 293126458 847525148 379175136 688267188 412597859 796342819 241635900 411084296 667794114 365873473 620362845 435272996 572541617 556897941 374783719 914477989 638795014 637248327 291813974 294825903 792258826 384801647 317804699 121524887 879881844 691887082 539617913 562544117 553490453 842321083 482457577 266843449 173378404 356206934 115458519 963086460 132717758 900163728 328735151 710923595 736340115 735824822 273669053 322232374 395799062 801381735 785146396 840225344 153492985 746160603 583041823 292202966 672768543 923694233 934413938 844253725 892981882 277718616 710093687 332590802 234617619 350097821 395112486 661819168 692036123 454777788 144282670 809550888 546093319 292136268 293837852 742049594 376506735 939860207 800588075 517244556 114110838 332683427 349469798 709087945 669717492 907030475 560942365 480536407 332780147 435364911 219073877 919578496 289408745 627056574 634163151 237276561 142886568 927007989 943405697 354580478 223040882 978145373 831229421 282752533 502850920 364889332 228365961 797782533 283422628 817595774 141963481 732380454 545139835 788712357 872307600 825732673 508609556 626181273 886091013 909657269 553755728 489940841 463021838 332586753 555189125 544204761 725754503 896039047 891167004 548720223 886624614 870045648 368346847 170803083 705662550 338598517 950364353 287136101 463362216 206764901 708906741 117526142 426823669 674114558 918185838 754339626 569656511 489575704 691969452 809899747 885876594 484519144 333239725 981076181 232914760 721869933 821171361 317859499 648513425 756304909 561520227 683990162 166886924 919133964 798577999 486256426 855570265 663025812 377152620 420711235 914769233 565514642 385872065 660039348 492784795 760915011 118380765 283837472 626948469 202541646 539588214 214651147 280056581 984809176 107812909 631035230 479367555 798570551 965132401 595305786 624772924 447246775 334004202 226451734 266995109 132249527 748193676 891507577 186981709 488969942 574628421 753584802 400566104 998993921 731271055 542747202 450242737 184900018 204437467 887515845 352810386 895625991 217230159 616097647 240258386 499083328 892544065 893594901 389879774 742741053 153894538 301577591 766008963 170545584 171162347 145311268 313809764 437386085 912331016 742421275 848656300 576732592 558487442 891708491 767119225 526113096 554298181 964341632 882617768 225121451 821446150 121211006 329745445 681222398 889396245 836804911 759349059 549759500 505146518 440199582 246221145 437938024 391175636 143500873 811280321 723125591 760402201 674598923 786026942 878163300 682681049 107237155 883713001 896447581 546380685 778133977 308973911 797790976 673230910 465602894 593447530 886335908 578289442 383813251 502296077 178482591 347525165 176478742 880668281 121493857 914669515 453901263 742057221 656268448 273700932 532684029 227837375 787190463 691872116 681615943 317202073 565188645 598211049 720979089 473347436 442574361 371893367 763104280 650637080 389623180 436829038 826091524 659059143 491808071 789532009 144738992 285185399 161813490 279057389 646705214 743060242 363665419 676545895 765913538 450472390 880962267 713440822 616725299 132462984 628520974 136894610 958563779 347718620 664202194 827160724 913650808 434204434 474478307 467698854 903013859 857506011 369789248 596607518 520703563 541436799 503054013 420261681 680140746 283577805 971865212 968471866 679055627 424002199 776113045 801863193 967404377 494677135 715955440 332881266 233978864 787874281 649658131 280099793 766930862 521953561 664537500 158851957 393262117 423313364 387531194 653925118 340215989 240060054 173491524 185596438 315536782 433959789 374661070 852039548 574866282 127209663 609771475 405131824 995504499 470641300 344570786 841535842 825093571 236388109 161444625 536485600 899817272 779872249 321949917 725023104 586482374 237591018 137796359 459318908 131861490 894373290 673472923 772461486 960895467 492330617 523567037 841766665 340369764 309194294 723631998 828844151 979248337 596885185 355924830 631616716 678927872 300760105 981836725 106828577 822138682 911755321 600208045 186560336 838889012 288131077 590685533 482801095 672090122 423759980 652806629 315822513 547736556 740294952 869003480 715658829 242678877 286853181 354527241 532533092 818654020 534363101 714849994 723470467 473357621 855852600 168047206 604272787 316356914 315583939 402366936 840708713 356256688 381337279 504281640 397225490 700850967 310266135 182660200 471157077 497240702 722921861 381215389 926606485 948430505 791748441 361511094 498242953 339671694 330513607 330138036 212306177 325998011 991596160 277718083 421457583 770388968 338316544 636019836 686113156 643209614 603778274 349449263 687593558 506599197 586131581 930896461 721548361 533713379 887256889 900939205 508955327 146166403 942642119 645020692 846614374 924587383 415890698 408947855 572019727 207936865 632335753 599933951 535727216 557389078 820564701 583038623 891317831 881263738 670776260 204391107 287586961 520947613 948497135 992305797 818959424 965999983 795648690 441121596 984196138 841457987 440334808 245143154 153547046 485271424 469253462 913579210 920960552 109967991 990475882 452968252 828433619 306078928 226853342 613344850 123760766 138382232 946895845 858549617 625825105 173447818 942685331 625627097 467266661 997231759 486812335 883911796 873619026 171795518 856254798 771463748 566291483 478240064 587865393 934506909 378647056 822688845 979715202 576373586 838057669 562574731 923539424 701198149 849327512 674602494 933733521 337849801 471869788 524519190 863489004 946022788 290211803 905385215 423483409 675685359 138491283 707639409 272947411 154168527 867882962 937246785 808124133 893974386 362125622 362668400 514011724 154575563 776001898 140548240 391331134 882282605 211136526 471164438 650016923 196182020 488544679 431391590 734230324 222704639 897179787 391937437 454346672 456712165 850637214 366188788 502710304 984756936 240583709 526480809 908236836 181717243 853213429 453742944 920063083 783542849 666668950 655329823 422846301 576710577 525955629 298347126 812767506 177424349 558537934 140203383 303656638 555389394 443268328 466615171 195130387 954702480 365959059 866259278 924316551 597807011 781673892 270261068 700802436 134987503 271860027 616188448 130349211 941368750 945413476 702441713 641386691 113304519 584612050 483860826 615877454 287409429 983194072 303202058 794497127 881279359 567756769 516959835 740103979 387457323 703803302 470403556 452239972 218769929 283045367 851605840 671769535 541121797 245552027 553170511 268873197 857569815 109694001 201018791 885885854 865026245 624920070 533964516 309955222 459917403 807084664 155451147 217544315 954630661 721698173 742313258 291085307 473757799 751296527 317546446 215748068 289557472 468353272 407174214 421887569 467301201 710463315 565998733 890423774 404559529 653525715 639107917 410023716 372251041 287340903 251365828 715297501 379875190 843484831 693233628 353274677 471429072 900116976 523701595 229857883 610294619 312423689 375247905 970169748 263912230 282096517 408269556 509980504 984971987 948987961 580914855 237115699 105613094 959129217 637522776 406721635 236249254 749800635 885233048 873264784 989485356 115481881 808892952 704625825 255311096 463625701 955774307 870167253 683067557 481707980 628668846 940420187 615782776 772838359 756366786 407697243 161180425 235014519 183999508 951813481 785581014 830611647 171525723 656905329 852316761 155140540 437349967 372037245 238371393 693757386 290595269 194232221 790275002 754840812 178733227 399413845 195386119 280854696 722283626 819528254 181555484 283221870 178472001 111191238 897941545 964006192 977129890 569362347 931655023 337701511 318874809 669580282 597618302 619192907 540014968 109301729 677854287 871814503 358426405 286058391 110862026 512579850 294360063 336404033 908541444 382718269 389445968 452617280 901283859 264609484 602227836 419749699 941103857 727182636 305960040 105912802 129330308 176977619 293106877 759723969 628238959 878434747 570284889 724963796 491569120 890218811 505174661 533212837 685073352 745955195 432295069 352141080 242763783 720985681 632024901 829438092 721436122 257399691 456877481 861023483 847842115 437464935 119302339 433270252 940430963 725900261 430214968 634684036 583153524 127872929 133808237 229633307 648117677 686085678 275317518 348701948 917963834 922652265 239436986 569584004 125255294 451777868 974410508 740271507 721050570 975057224 768525318 504253516 530132204 507197871 817851033 258806573 999109284 180109513 774449323 334976850 183209141 872085258 592262713 983663450 867864972 556715526 823837317 588120641 286875547 203350811 929505976 696747905 492401387 434566268 326998813 353595502 700023164 858263458 484284100 649032714 623458356 209447811 554423349 692586586 964130409 764637437 106748042 951291349 695004589 233719523 548186384 867661449 487265122 566468563 601827546 377120359 304508880 699630006 181830331 373768571 593313048 833070054 715096730 443712983 730370650 605034993 958475325 639963173 937834350 303809098 333814935 297937083 409933582 615173674 256735418 743044353 616684314 477207569 584991057 329464970 861392882 983602102 423389930 651133209 344085900 207689831 851387618 319956777 608619410 702424144 550570755 193763205 258065911 348687390 234053340 403348999 922557880 967228178 671171950 661386865 283445529 154408370 963228090 899530475 134015393 789263336 268202374 339311486 619636162 414382085 233449310 473472569 419630221 422133523 281388531 365593309 309221633 429256517 763278783 355452391 363731627 644738080 308749261 546420215 987350588 734710791 794438451 724368865 142503672 237613106 196919090 225556199 368646358 536039303 791437698 569954194 107595977 343571500 116783984 665427908 318000772 416400261 684299379 357036082 141628276 522264716 194101180 227796357 714119457 829666413 371176194 471731771 307111136 545040779 893667713 846617794 357556981 146773740 575237955 846507299 531249612 304742526 226305036 990276514 567221691 664926552 320149288 294437030 705313864 853602722 224152994 806896664 977752117 549712648 667687469 750600449 145781683 186087672 121333203 618616515 213887029 407465359 554854521 250646486 126150407 206534077 891665723 528263937 516435654 263784586 772032437 870828477 537192324 601195476 205357877 897704444 155547793 904366715 894622002 984354163 592838115 663118307 657452144 136541279 607325627 337909244 424562306 488522648 481125635 326926482 523017915 118875188 350279154 132080353 407674485 269935835 903011011 778711495 356994486 497171135 663302999 439402544 923039559 454945344 804937108 703533685 507565647 648271313 852905328 849247246 182158492 478397046 861906772 405418762 300608158 971422324 876196420 619543002 435584269 948955704 547323708 672914144 742616972 478792829 358373936 967609286 822119056 396300281 468380592 247076752 186696322 145545295 844846330 570110899 493567274 634003757 549654716 492597587 813082426 956252101 572736382 956882491 868544999 153512218 614042901 101715426 810672580 701334118 121310912 353822394 286563566 240819153 659797692 111100112 572066792 206521402 347035211 558402764 915815760 813174610 290683256 635413159 756200655 119276956 855809294 622255704 751280240 955159891 744831922 118261203 223011003 959366690 524175688 960625795 575699845 392322127 405309056 646036262 917475280 926316697 224200817 718391815 956758287 427874373 810425975 931737680 829320474 988748998 481528219 120279925 248848516 705215850 162033639 455168393 472448695 962554403 370851644 140829539 299877046 205875275 303939201 758902424 512996544 359976940 183887375 741792929 610818285 189480111 171809519 118291349 512539228 597972453 706523624 879723128 549809856 292809688 191962808 527025081 458972073 112981361 323271483 478061357 295146388 694661956 953321400 986013662 676538658 885603767 259229715 822630318 402028689 194514316 337536154 739660951 738269563 265709913 537131623 803738766 564616405 338396347 734210526 810266077 338596529 319371450 496761761 343600839 604450118 315572429 611064635 777655395 423793579 275703405 161299664 488183723 227221482 296726530 859454731 643834797 877922169 451564668 205765050 990919145 400235873 214317178 900912781 226788145 559698356 464780840 443366149 621649018 776399816 772095555 397253240 160396857 990569452 363482719 334625948 349197290 170104418 138656603 130185159 518983715 501806381 425617295 749737246 232041372 935229757 514071827 488570745 596215595 684491212 314338839 870093025 574060726 620839199 181734783 772051976 491648243 161552424 142555871 704854092 220546553 898181660 960457246 858480959 754196508 692266541 771178213 571880253 695497349 740007721 929134265 668535412 953189488 487955721 107858651 951981837 920748321 152419486 296931405 971224299 903264526 942632975 760143950 332867074 687868968 478952618 840735427 321402490 158948093 546255586 102618311 778385601 787853325 780707864 621603423 471796897 702422988 493910325 156844163 588013410 866395582 453595249 634980831 272695169 483623413 162465812 692485908 196828784 816021088 528448803 972740039 279068397 705933674 713060062 378313000 619706296 333651977 663069026 975527341 530928813 959847232 118400335 320561185 697765612 240128711 841405301 109001346 168534999 692280759 734084705 262193729 391413287 207896928 674563579 424697433 966797041 905636383 966525018 671778117 498594009 451241362 620708262 181918547 896436377 676982920 303078118 545864335 406312288 946054938 558223180 231165993 251441042 259707388 283707939 924719742 911524710 211670460 471363599 301617328 470618578 641152213 223267595 981282955 774196805 748907396 559135388 300996877 292492741 499938489 774570610 772523118 239604714 239518907 773496817 444356685 498311739 462380496 349028141 593240897 686608056 407028963 782171573 813079880 540672530 198759454 223426271 597259243 119302472 642486928 922687904 881680320 905495349 532351501 970199958 381372644 418067707 949441036 972525488 856250346 584749616 651623358 843186398 985789786 122142484 358699537 208141827 735010751 754107448 814414518 315603336 992011588 623598125 286263580 934921449 725530474 574866481 990006142 139410013 612268127 602624265 690581671 529376256 499600102 816918389 254107239 473904469 275993217 954528594 217104165 203702502 673829762 797821857 898582179 915207745 400549589 560550534 388898043 431645054 617912032 866477155 940880763 920553949 677971166 658594844 292385390 532532996 220362033 134148828 466501048 529621556 552769640 218268394 438953449 800530791 843666305 330657150 239900156 891895610 411303860 916481963 141307289 645800223 642467090 476840034 440113223 761208808 455203695 725489063 543249437 374474731 817081108 224695345 730406984 513424389 419437010 644602687 118073864 412080218 937739744 975333066 561398676 755342882 168120107 188332343 419049305 685803259 577425370 389338893 161802017 587253361 973283272 803125549 880378791 838420510 948634347 772891181 984510150 699531411 349449675 420118653 919813773 449987534 790071726 187283053 532662659 999531839 253168952 587364822 516772950 346524844 144107875 959555639 707561431 474037115 168234712 167987493 320519084 738759370 994209390 609197349 280851255 524374516 888460702 948552851 178301034 918951458 790176674 162280381 711551415 382340421 752792422 752273692 474490421 439139052 186541497 106294811 209672578 915948850 706545934 768709435 264905834 345370732 930665407 889026090 428877620 725965009 766990704 537546205 879788952 340061797 981300625 310707172 287265666 180745357 460100404 166168233 934725097 715646283 502441405 603873375 314706471 467603735 328853953 862596864 868715902 224670155 688745517 222387473 791212449 684951978 821419571 158403618 655264080 845477297 741984994 849411183 815431142 349947515 845808029 738396269 136312847 415468085 167149443 859408752 367540186 381097905 476719893 587817442 243461711 549340631 819860546 514166835 969007291 400841172 236850776 602848357 163711556 881675898 969757654 851877352 209400331 627234188 499974455 119369705 859571783 202851054 476866279 536869022 887278248 913419916 264201264 543734600 483162528 942812459 143553666 753903306 535697234 392460454 347171326 527507806 310544897 248241693 874261272 137450904 212789994 687131900 201646960 718019741 272011529 514070078 401489724 367060307 931306398 984708343 951090241 143976479 452519849 671814246 297927096 731455159 592125763 569281793 391063660 415458242 857781751 600549381 181200347 671361004 306619752 580445505 271453633 288064315 823744880 113213992 699087761 451425132 742730771 212820220 795549549 311024942 562224748 342499115 686447195 696465666 992341802 897664930 432649133 435571856 207280930 654910692 793298172 478413441 705162529 670404137 789329285 637291420 638319583 812718845 614992142 467482841 938891497 226431984 653761697 958975717 564019619 113163899 815268589 513400018 575007780 523658769 571409176 648398280 390360012 308609508 872360455 743958071 770332662 938466682 928166286 135058076 906723759 991413597 485488095 602292680 410813768 605245417 594552304 482944520 320012693 583217529 451801861 353030734 601572843 201983163 592326256 272551949 528109340 177068351 974597169 929858267 662845592 647716862 320077653 767347450 635233118 968720657 409552951 189717631 542592585 438307163 441425228 986600035 153299976 187449971 372121462 451007686 633217680 323527174 874333523 366240628 730923264 456211615 566689984 493063161 654270887 881821896 824937530 668542135 910994359 122731598 495998291 990213228 433239775 548709549 757388481 977898754 101873888 555552452 432621692 925642467 579301750 651074213 702955117 840516820 136067163 942491919 510366538 146808916 183853903 314112612 163883474 418613691 349031844 208522255 768019861 475678033 151045569 606980558 212649338 623127615 563691147 403070653 738755410 449190085 920425193 393474110 756378833 245512771 778266689 171072377 237586822 388149116 870033785 416262702 770048272 709274031 229307687 160076450 375526040 891938576 828074802 574873503 176224945 481874408 175712742 892285239 523145237 604214778 103103459 608667429 144969010 689856305 425311011 244488561 806203257 717568116 187053569 127807623 461434466 190574566 674435311 510616456 102254397 271820235 284184079 742143090 818965022 431316208 851065706 568537832 898169571 778512866 366859822 518109997 638958619 256238381 940006942 497866442 721147781 713015097 314102692 217536735 304156895 415538444 954966377 155275862 495692936 200747391 825087851 262871740 797626352 458566254 598111763 663523572 724683685 230806197 818353726 210936703 511202183 561462382 537328704 920836256 164610088 396178935 780461427 693122313 596678382 929523515 788021349 144094066 945066168 999060991 439715400 820029479 779378619 693901400 754490284 743027303 398831220 346851690 135615035 422036556 503085056 570710021 401985215 847671240 112151128 485161884 923128272 497662145 881391432 252214311 186192607 174579624 140418118 673673287 745039010 493908732 705474438 305019904 808158265 854470344 424972448 873413372 262091252 431688279 885638166 520644022 506478452 732659825 628937132 414388383 766449393 296640243 612348111 801174256 967579476 776460352 887420546 308253231 999308841 543490300 893951254 373245224 119699711 102743367 999614570 368348740 564660027 985666930 765993764 752397461 932858245 540414841 295452420 885539192 614118868 887624104 960077485 166119208 872670954 949426037 486778506 890083032 548552284 221449786 225587366 947021673 764047247 830481271 127307943 608656706 874990540 791689725 818919048 878336162 105495269 939189499 877654969 661989562 670934421 648923490 173751913 537953486 489818843 410704282 932758139 462306951 249305540 753338261 296833428 301295081 284322213 834177692 892335050 291463463 723220549 876640203 856655344 800033336 801025632 950111015 532143365 918391579 935220679 457850304 818073097 554334730 803118409 968806703 269977132 333239463 247605359 901351932 494832821 847502742 527797940 763777691 295288798 112532385 261732173 212910934 209211462 409972985 736653043 462810675 443124513 445912597 838172606 931058182 133334567 558542472 961540610 863841189 160882390 842622301 679672573 859271398 590917820 948556021 657463317 405603327 755138547 790646536 687167482 262858781 882074717 693040872 546875934 550956615 890912073 586132255 214047316 432151118 316870536 484901810 195144493 913479586 903326396 457951507 359611281 652687330 789198396 215082852 917632728 479196292 973026754 888601333 767374455 282430992 773625677 867342209 678298268 483296368 514697434 987353768 335239060 320417782 276382362 619433280 367275251 703629834 512062879 412042250 542772868 117315132 760701575 606246930 245421743 127130119 959829921 865129542 926424217 271316405 961482667 149671162 978332275 802198792 777631410 809136258 961241377 859669071 572579316 524420031 130694946 356567147 397437529 814985378 927398819 586167038 593819780 288847377 124742981 400026392 902338490 734862267 438526560 371322489 217553569 395541498 682448972 840587757 200089771 471082009 644493552 306857216 686876172 111220114 415377820 197741772 336166042 621494627 918170562 556061363 617193378 437881001 270733001 906820486 707850335 158249604 341722149 747549362 996277346 787890350 833988276 903191957 781781787 291134619 931224257 569850725 879057382 144078206 947692806 319172087 627840337 272803437 175299566 425777582 850545119 344946714 138355785 270971044 989013614 327608886 230818785 423217371 401620704 299872272 225038225 306210572 954436041 535743433 341000045 732720320 960811368 846544132 189823922 317347030 255040090 597563589 479264786 456333038 629122030 601740139 404322135 653032007 944881082 320869646 717509918 400441208 264447791 207911270 995981670 360608559 666019604 318986159 299146285 415624132 537546705 324352835 500597324 861006780 926595846 120052653 927652998 700645473 352966200 274773193 687964394 616900960 405626439 373413744 726714692 514222973 456507546 886087423 248382291 956709786 750866952 389250877 943255347 311283922 425321360 687463304 819042519 406062118 660385281 671777069 795778297 308766392 200578875 776073822 704907179 629499427 999539851 811507365 485501033 806535859 660435976 856268541 138987358 347799757 792810441 898084338 465428163 679368375 988506791 806766447 182891792 122936397 599481304 503059417 998647196 268546902 668936073 705988913 820575084 226753731 272866510 854762003 867018979 569350269 560532646 448979844 636861331 699868325 797184324 647767716 218853258 694600253 673420275 988464193 539530871 211173666 938945488 460672027 713188343 434784585 457775036 169214396 210742420 284965780 190538574 604056251 219572871 764053765 898612043 543186831 731774732 664415177 389175210 777501532 897486718 500964649 258466045 972680778 386319516 187131981 948212403 742799344 983009916 816983717 792673416 556976068 740888445 485641543 931741714 365594165 596307493 452498427 958143462 487800504 565402952 796259945 512162155 114453374 814360729 825140897 549189449 697001307 845988086 585678548 722598769 494492537 926575578 585211667 111353113 521875084 885081887 766824832 474583797 445583646 817870329 837411003 944362865 797750151 815522941 668319071 902730353 847271958 535555529 678605378 397453688 793837055 623223829 353387286 171668826 828032885 223766840 836964529 844261691 403243148 183715114 378251710 268992469 280006691 119325872 378144079 854615835 681734193 809966721 272395337 676688680 985705317 416141097 433026124 640069623 237652826 406733355 578095374 545361052 435420026 189224751 572835359 107627995 916523533 401943793 369849259 777658906 761883018 851688775 640999206 892996858 972085285 124158678 985705949 448950018 835377933 265032976 397139016 321284608 406549847 828724507 328811154 927993159 722069257 611899571 237194361 179580367 309046473 581550486 638903752 195843916 680620711 398724649 393161023 698329581 299443655 135011076 128448709 870873250 577785558 165109263 698432259 151300524 874311582 766396468 390033200 354631913 201070765 479139867 656870791 313523879 619621219 555820426 475569671 465674773 771289647 240692847 663473519 709784777 346188486 145147328 298922141 600470845 721514991 375461108 787314647 964278266 133138658 413106220 922542616 382699247 998274021 298022420 343717298 415982199 104599971 848110606 890248178 916849605 863142001 344485293 401551091 382995160 349016892 219681826 350325488 449590112 480943659 296702442 551070959 891789816 198981144 500346839 382821875 605320428 106923466 268939735 983254848 473413475 571953730 885627661 452224893 360169386 172589198 878541802 504531037 348965649 526683864 185803039 405902163 417291641 851413496 888759010 623802810 562470399 149970504 775464521 178905563 630401790 284648597 671886725 513252167 748925917 753431114 841075770 182251794 588377762 940151931 439650009 945382460 309887801 845654728 446405863 920212706 681451066 806355584 408766141 797589308 731642570 110224556 549810149 924663158 169602897 957900670 550187251 927545379 350778815 415030291 518420361 277587624 897754414 700129751 894594138 621579553 397906072 993071376 375817747 715497397 446484828 472019167 471359914 842121902 246306133 160827098 866111392 871843745 713795930 328639974 426013317 993970319 761918513 967531243 731583039 935299688 944807481 367936004 915452534 969000290 404186028 918963249 190428272 433399294 757641255 406806058 572158961 520195124 833164047 451994662 922269668 716762389 197613448 452572912 681229901 537814903 812708486 906634156 247046554 732049934 271669025 275884622 618363933 804793197 287986835 196569190 288057008 395741193 567458653 587936756 154733981 331121740 912800004 121117451 694564388 746685614 586061815 149240064 974082672 939529308 594489607 458422745 126111465 321817105 171323858 411674550 606495087 688219930 299454275 591893849 103225537 294578732 338643462 849726155 757178930 915618762 595758096 251805658 281490104 217314140 755433639 573397100 663933605 658466383 476403166 527802022 527622345 298310884 882704852 517478103 403722890 399692479 526607464 348958103 211848027 994886708 774982971 421983052 111924193 809520562 114138878 711301612 217444245 859316238 569344044 404758869 652976902 184094837 656906408 595005291 121078073 828495931 542449636 700847152 692306238 292465367 873924276 317911639 344983079 137493138 908305262 129920533 735731477 949419386 604073655 707569391 984202645 355386996 754376094 167894865 284189478 808327648 441461724 532484815 140765033 712645633 952806153 232719754 554202645 745640681 945392023 203206353 332262935 461052375 521311949 412522636 926571498 608195447 711352478 423481112 939354717 561027627 774481287 865613016 669890829 587690151 261107122 862744127 804471873 709817884 894804763 832965160 280036232 942900456 187799243 697526632 288368316 604305722 414768787 104131684 318651487 485202514 903360324 400211023 487456795 967349529 967632556 383640593 426707783 418307078 166771872 776643285 296303181 824428099 950346756 358384731 473235287 618499062 802867873 282282857 817908252 995176727 144091805 726962028 936576566 319122422 653793400 164277223 523867118 854814283 248935830 111777880 314516032 445216138 540188598 821123976 672695385 203359816 373739058 880687277 434025223 818281550 541406915 696042045 653964318 190505140 369447272 901598428 316034793 381061089 772518365 509233609 742518263 436464234 437362825 643440882 381852261 355929289 311121745 342003500 393563619 406059988 726579991 836405575 576739798 645411373 548407350 510515072 105918782 609919186 796830560 210419760 795791187 107458060 871706215 155822420 664432938 803277648 424028845 439534126 843009480 450700773 107069820 816352326 995619330 972245158 366548200 374455046 417587332 761880254 299523261 136907289 808485514 412380451 376651259 694030630 714998026 417562224 529490000 943143468 251297012 443782122 823531757 590220101 154652298 617945542 976081459 487169149 102322127 683469563 723027396 531528093 268979596 648479025 489694876 277338342 941927212 350137674 125644795 204085346 969286310 590171284 597333146 602146987 295220575 344657211 993479490 683466591 789079086 204711595 190369599 268240406 442992358 469393111 548594470 574588428 508937799 350443081 655024435 658986206 215637978 429164277 767032279 260732864 131850626 372727154 706776458 975928384 705840597 731040685 149295488 415462966 412424447 285736249 943322801 705487412 444248591 210110129 648980464 635153823 671498850 217254853 609562265 250813050 627303545 269361931 992632836 576649916 149376791 989156688 395206606 611909821 635164632 484558436 652019063 534310905 946477020 939318808 886225376 534492682 910189324 772656424 417340311 626938392 784141075 691036217 939054883 767255194 317437765 824572104 488014870 266475800 291860123 498836935 163530733 608140052 477188352 608317054 771108816 126468146 991860378 237270316 251743487 440190563 609415152 175119066 848520034 514326321 701362292 907345575 681316753 698691669 548185237 637547905 601083709 923442091 213359442 967548150 453624318 103174477 831955018 704742239 308020428 920073929 103396652 221971347 650168451 478616612 663500979 932966118 386454953 770797231 823874915 334140826 479835444 161384213 594611966 349172990 799598030 705872249 545096697 349235771 770602690 332422523 369088806 127437509 363638704 744704048 454512265 425614672 670204670 233705455 368588109 811090037 801666091 482732312 553599174 113603547 892277773 301643069 833737320 848292936 821120361 425259390 740717474 124518061 594900388 964484786 327720713 543332261 689125806 423263584 687363799 598184897 704142046 631092723 168012625 585882324 569762633 311132843 640923759 668441295 917953538 522950427 509912672 355932919 282981117 186939094 917908142 427467761 587043324 439596190 797366877 638197700 673884789 903090777 213262490 282351914 794974884 956353212 183380419 170203684 582399220 714595898 581071670 909312070 823615995 271200154 444046806 846091466 955932996 777909297 924016779 322672410 913077329 662801354 672575324 630416575 516812501 766524711 269514048 540656661 467247678 760372781 707233059 769612051 293992009 571625530 441653029 128383269 133190452 845905056 857828490 646584441 823132957 698468139 649348731 461347214 471704830 995788096 770657875 351454061 954555088 199647315 437109675 746710662 984600885 520386812 783166827 370429449 741123891 379556619 151033634 447212094 874805191 312542074 742130580 625482885 330982615 712063573 816832171 985072528 764235154 800255210 150645028 846292043 922122598 837388741 321554848 103515093 679629588 984882398 931781968 242892006 236119793 652290435 976087664 338883915 804917940 592749530 519744901 664178488 985561882 904688117 592780561 695028487 604501875 229544706 874310192 394615027 140587378 743380734 848621838 634003340 555988494 285889423 521934895 514841228 926699125 794279761 114910734 590073774 897108572 473897234 714255930 684393223 184187190 263746261 647375318 631392737 266336729 297730986 741587278 917277906 797684572 938063805 145659855 303880875 149611169 541276616 242716892 785627272 117882534 478965190 311806656 380571768 800681991 775485490 535290255 849715648 794642267 391511092 244142941 737336134 567455881 964029177 746665020 439949602 195281825 777946044 388842175 964351469 207046627 560801417 769873114 666183361 486242509 804040291 826979801 961617761 815464996 787250375 508151056 979188407 164401367 752483818 642813975 971056289 878485184 225615784 121207899 556930449 928433468 114699830 694250407 171405097 168429077 412323426 359200075 853723823 382969506 244768557 145693292 232063641 312378410 899332326 260452232 782439331 934309974 232687060 615739743 212719113 797167140 175374827 562085001 246279731 763928846 284656108 461737242 308459770 122922926 740552261 713439699 281381142 536349305 484187588 722739050 715740796 140032476 834380157 588379325 620375192 718839970 651625224 468965825 991565782 483033413 228077418 336477645 983735600 287134066 506938695 154250670 463828411 287405365 228166678 484578629 697676563 166712190 556316260 425201553 803328535 805417960 157279896 477108905 455142634 634517353 270008347 494404842 832760022 305960224 612972189 762517989 367980982 935004286 509077527 326997944 308176587 213557935 193799632 427048897 430466901 584571100 896702718 305816370 757938756 326623566 855425703 298839276 738265441 669839321 868629858 948835918 676774403 466582310 847285165 732716990 990687771 164993412 957606831 283595837 974550419 138629394 330975016 149466273 422880674 675170370 743640360 929914682 830990483 770565755 744320558 537828063 629379013 822292250 955612677 145939195 441143138 381740696 951222309 401596118 649099572 428613820 437910813 234526363 433003982 481355260 408979865 760997765 688475811 625735436 626374831 608967809 369836366 922087291 803291292 399062788 911248226 344058787 714044582 876774702 991231045 217754092 388759898 748218867 585937088 589180592 178021335 157131539 522548152 615727524 204179395 646753204 605661344 564474610 186760538 165346989 694537815 909699347 240019589 793551994 613870289 689506485 196718653 266768253 333982611 270924445 284168420 795079527 163471749 635969750 266056891 121143543 963749504 947207738 357622540 404868032 302212808 130914431 399207073 512433867 369641122 609763207 835170481 916851263 414174502 665856605 824989310 358425498 766575604 274181433 329278652 678166075 194312665 199246433 631103962 802023553 111768842 736996399 856860524 175643086 111419309 432247807 788654654 405420457 619258070 730027441 672377200 596335881 441596325 186161794 575252431 105105751 451581169 116089900 283541074 219064344 382194603 993455360 586498718 726125185 817160345 154760532 394765319 176857041 431818553 553702187 735003110 900358749 809901838 681418300 268110424 340611503 698677034 626440160 212660250 857433621 511817696 898410025 484586934 593892911 157705387 773049100 686005026 344110685 821369564 712366440 775828790 132323805 794456625 998087211 610929265 867692247 235407774 650544515 979426896 802474898 281223089 945860201 380448517 931643471 625794978 361882085 267412466 257623580 645240973 746852834 439374678 160821664 216699516 977625840 971100221 262245082 366507676 454448836 950157625 787736752 428495651 378583424 347285736 364533181 617591316 531014067 104603283 356427033 154210358 803671116 235938716 470250681 396803058 478324061 108083061 564697073 598731331 991930641 815128400 615972662 118596607 277125169 173337794 218678121 222555915 783269053 832847739 574341129 579436920 420141765 537925076 513845841 390692389 544006500 905117023 323653160 864704829 610273905 533440521 715784345 975992307 985779299 853952676 599097771 969335376 142933884 296456724 948541202 700238231 234410748 238050883 956339604 329432686 770998782 515284066 649922218 167702574 739240057 173732767 843054403 937908578 794367112 324906158 960904711 601898961 511763519 467855804 917278462 126084338 308873870 317550623 373217078 672905035 125066238 606104448 163985687 502288724 977930102 879624002 140623664 758884258 794873151 446382227 688611857 955048674 797706188 430957498 967215724 452070976 684334935 977018942 111552872 327130850 319564161 669082651 415233684 641622960 149602293 278624092 343027926 381826574 943252461 908701189 551402077 396658328 119501619 316349410 904175462 949608270 555360077 264489448 861006098 744894873 434053262 680058204 976626843 394358023 883527324 767751025 745892007 625818391 154550014 470225583 512899031 690417469 759239144 295703166 340070938 545296355 718784228 480939319 343930080 691079205 322690860 219036153 855832851 664443408 974299434 174571050 801959534 557781399 484361997 933656361 894975403 209221801 288712966 762158313 109494091 446727479 158658078 126176465 965818206 566777652 579955323 613859075 507715125 951484726 345652142 643260242 738383893 846588447 747743100 944318764 684917651 260478060 502097267 727160701 151673525 393478739 429127339 341348414 705269023 429234879 165620721 384105710 959198187 777121021 830340927 180431118 616983764 681729077 514313827 925727939 199629381 505498659 573234400 614079742 839476585 593185911 574197952 232450318 459424978 478406979 162880053 225813706 618627960 764787331 554725036 405335123 107537082 268803117 338594649 604827032 931549730 812072650 827225609 413744150 962169168 826757578 378207155 331464819 387345734 831875015 525160651 675625582 317083544 341479925 842481611 605197956 781516436 157299820 566163680 184709098 247647450 322145157 649878768 859936011 312673412 675801348 598169447 952347294 209569127 645624374 171543627 550983631 774921882 829347091 883710184 462837458 947857104 196679142 705259069 835540191 979943582 159714627 109550223 608105028 857371953 258870899 616872277 944865210 624892667 609270130 766240957 882209173 959675989 318775616 319003175 586066380 725157904 346930100 393075119 834978927 919598013 321319444 921007493 680163346 904197706 526157464 218927847 279978818 851846716 742011801 532724093 164123638 943522575 578487316 160437059 239821943 812894415 252419527 755629833 267953361 424190087 843475509 559163430 672023489 229523187 980113959 165210078 980643453 880794504 464986363 137733966 748419280 188392889 796795172 575583658 491339483 684413061 595091028 681046743 627090748 757427721 305878924 963070629 303944160 795094598 357901802 215329411 424546107 602018478 681956343 434160531 820427987 601688370 122356556 239677752 987063863 552609383 322044401 782670883 235348050 547148093 594060654 429562798 823705007 562661016 569345441 175511836 366076793 718659493 553490297 988310814 863246020 186239484 681732736 208637060 430983333 890910910 627412742 939534461 533593716 333826960 420751058 804173405 300507178 267174649 917740601 570268468 698992145 165351044 364093891 455906194 529204536 138294272 687396096 865559710 970558561 499508360 426585921 894938430 312080681 386992183 860408132 460887655 397341648 833403492 173981525 325894766 114886010 758850131 425016164 489873948 219313112 121964536 692997171 599219572 372332006 344243246 910056366 511593561 324088036 346933748 216160808 676685236 571508666 903505104 581241054 887857835 382173025 879195862 571885133 503753564 601040368 783256728 257820314 432765338 952515214 601982476 225818495 577726703 727076197 300412977 398946691 397579962 308337025 800161251 677223575 826532984 254420545 453255284 271499833 806198618 325007444 789284042 569226219 479252266 315393181 838972587 437369146 843471172 779253070 943660506 778763759 972364006 456746248 885440527 848045201 341437237 276179496 694298417 555788492 415362474 947822774 884705314 375877581 273097966 120500155 976412830 727057022 348985568 555470024 312824274 843538685 559728347 225136326 964716526 929655157 173149843 958493138 688183831 810565780 245395351 743416645 666632229 864374603 693994760 411960822 599012165 888037897 553317591 897127898 268900185 176753993 455405640 186798476 835307330 199049469 887403193 821380854 224820548 701798128 709501921 463913915 814289707 209663339 287787767 689070513 965637408 950717925 399401806 783299055 903245388 432612387 702085159 239203744 815040352 321016546 917756879 277131451 329650489 882356934 813092596 148289514 699307599 636291999 674910690 932784973 200295605 287929517 926027693 378825343 362280065 531375150 953248685 582997853 215038575 862377091 882028171 441974833 378848309 273825443 205599060 860854108 927782619 522035485 830506399 154789000 509791293 283855573 219419412 365064183 410660139 459982634 259896279 224283458 206541768 201534110 874891619 244761817 748728811 396121586 553754081 676330807 399233894 117449967 842011248 281178118 987366532 272438965 717949194 977604163 453445220 749913079 907841500 166769459 167226367 900664843 539870150 255012424 424404820 944962908 348749620 483696991 104793807 324644426 380491743 575080738 324104413 482187111 836240290 137666218 289516965 605528116 687194024 813384081 979130426 742940010 890001363 325994999 206417301 197794403 742595520 195515189 912451609 948201548 305359226 494161139 257717275 422310820 264089234 745775642 467125155 110144902 676700772 903036113 274307122 662661199 353365094 149563520 494830353 197897234 553765000 259486940 365252105 384232868 599815718 865341681 951308083 907626963 717292949 729089169 857579614 288019654 845927427 829567701 851263033 662832013 816564700 616960607 848835556 365361554 934621326 441721871 684939327 882435524 794326627 899458937 378851271 935907963 555786585 764849202 307571936 876833436 658359779 665855572 973732572 112061613 611199894 229134930 188322658 692356883 400378435 530474190 602294930 120793681 604425671 284786946 423667808 686325977 945902403 672305981 671679578 442432522 950155233 776474923 448442806 402625547 349831758 894355456 335534522 546640016 483844071 467602808 407248292 237423551 949563047 174631920 889711740 849356015 547875977 486980141 996438120 469790137 732638129 124901956 440886225 537741362 406619273 530985367 702784473 661586812 325759415 812861966 645656127 858461003 673891311 724099577 995016454 527273454 614912099 267785996 998540740 411808679 133991204 208842674 127223287 443123090 397524031 824948259 846510036 839648965 824414044 607193629 894593630 696142746 770966909 486468928 799699114 455714427 902548838 467543016 976322145 189862373 600790904 835053843 727630702 108012032 295817365 227193228 331068471 666579596 997090615 658440400 968038104 613613051 931566916 564542281 901732464 562441168 854604861 340757072 720533853 964443413 527146327 321420623 150085327 660341257 421856033 931036260 623023813 542546924 955283605 389864895 933130419 540484023 354660503 675578708 219344525 164295350 552120740 223827867 869452416 318205775 302505038 815978034 224054349 676093938 813446676 283271541 869167806 630321401 426047658 242580075 800920793 655226883 203046396 966160853 511413249 937359151 768992067 310190890 575683804 972527467 381045583 239412647 426262626 904195672 472655577 373665867 867440310 398979874 640168991 890290957 980933162 262886898 902500273 933560902 269134546 486592428 672962156 253717032 558515408 793795946 711324001 869968562 897265904 165726109 670515572 732833056 717597006 216038323 696945330 405862773 456291176 666100017 849950632 252785576 903340208 978455491 454532035 848659801 183322364 471659533 497211416 963443592 228850405 457163153 134821062 597915466 330019240 933284706 795956060 863591256 883777391 498978826 708927907 645580360 320911728 819499919 327289869 691924248 592617768 556731965 230835095 378542696 940169024 686046695 935094934 859424405 525801500 315759685 471647995 414608489 294235687 764316982 257622250 886116410 700104391 265046351 634903380 248930663 723187578 444393774 736723758 639611643 654370544 996009414 448108766 754202541 363204521 784571549 186040555 135267007 341636664 591961656 983180729 724292870 401945975 909762494 389612437 249997396 616365075 129424434 133311660 548884031 655438336 718084665 285858923 727189556 150611061 319353298 744854316 122785656 228240558 369161919 366888056 978491759 965341263 801985279 724586816 238648640 507429443 244283715 160947702 205947687 938403209 449180672 857234858 857467469 207979947 208339114 767843274 709405142 671244974 234221936 938909704 927350698 653985292 440266788 284858064 818824527 876621518 593284402 448196789 288662496 520071932 453493953 450138276 621799864 353884301 395114019 758652176 643103512 156667633 465318829 234322723 963191710 893555642 549906563 903074210 226635831 637849614 767310039 621418962 656172983 744843860 816484492 852741177 532144150 994534729 890224917 765846741 501358291 261756558 674200141 686636661 410901644 558973592 399973115 115542325 630387763 699972515 293093634 131329208 438490570 212780634 314674167 905575276 256740427 141303121 150659069 278670254 441494311 755921087 785515796 465375806 680416446 186028722 170434073 115435326 964707812 212847893 495362298 329574071 898141772 660292918 550270373 677708465 274025201 799122831 634264621 666411680 487167433 453881927 850395710 954819172 649515961 533737479 655223320 428742614 923933526 995659796 931677877 228111728 161248246 613335292 864827055 652529872 286310154 317342436 437740759 580103229 292353851 232502187 448277433 564040522 485570075 860121656 230747738 975357003 209636034 274857578 659273135 935760809 782708349 742957244 616864351 129621134 907953864 303259937 818500048 668866889 522998490 962362596 725794271 172145300 925830290 497919291 364441749 972541157 209573023 774832272 562780576 570574511 210523579 868675033 925026594 575751831 909107867 333837292 805175225 199649343 581206769 237403689 774251089 746324966 709572715 534437944 249371263 567679400 900270386 269221325 577751208 900365892 334816313 261356250 158723161 163889573 629910482 483092055 115422316 566999124 494439908 875572017 131467702 550499752 343605163 960895969 841189995 478862789 264488076 825379840 957424316 100765109 351966816 960931619 661153250 263741426 416092522 681759228 666485046 295247694 970033397 738804689 923098298 944759421 275254402 290662183 577962168 848353775 403715444 533584472 667205589 622628445 516528895 484654883 527238544 857249384 549833369 263212286 169784914 718743432 210605931 468926837 942278868 507359409 501511639 690174844 168067198 387112932 196398304 558284919 598908039 843462650 503242560 116175390 342278115 683833376 584112353 567092999 306979212 562343067 913826001 713634557 127752475 859309627 576113642 538147487 284255829 220140628 649271679 760263615 894577353 840166259 267117835 856507616 864648561 942881061 502230668 433666611 121557157 497605110 300104370 410641978 140315465 886885856 118296065 853824808 593149277 253928480 216974623 890847617 407860669 396731757 518760774 650444941 241079829 349972820 409722696 977885646 887207162 887025491 439880515 140448066 708690034 672090652 407831301 922492092 695732845 946771135 637441097 674128548 493793784 983889472 741265840 497037216 323682058 998399477 838500724 142194023 835585689 423426525 434882540 606051819 441734223 773483259 818997833 171094436 688628352 831503809 505920345 487248297 707410141 388260968 332909742 999553721 707350015 404812453 657577609 833614062 487014453 396639609 792187689 885767883 621510106 983330451 465801358 169684995 559023927 305600952 487897134 558639843 610917132 427372812 326832114 314155945 632520084 903993653 145930506 325284962 163663122 124288406 906491124 203067944 428223353 745821241 319366049 789110629 805524458 175097776 993012124 739334104 354325739 713540059 522906214 603578661 694786667 359002668 864756605 737184423 830959086 392617014 828468763 556709086 483538755 394186427 628916068 173257208 257622156 842150667 845216643 776886669 560297886 983352689 996131903 502180552 741992883 674497681 361967799 318497770 824909292 566594772 185507563 218147881 689885969 446162834 144715081 186759074 633844437 652522777 106847443 939536657 619449832 507551700 217606796 508591992 957581469 141500910 569230680 706814082 559351320 126376554 869941404 375155220 615698478 925317784 484331283 647838719 414621912 227065736 806978847 753694207 942110642 430645294 671031839 563150575 279695256 302852687 874390699 229100069 277381068 238181379 731520545 629549864 753970257 193493053 687160280 184159543 775882081 846689002 846029907 814236594 693354077 295457260 282240622 682708441 271189057 907458161 726083665 835174183 648391337 979937921 265272252 932904770 257082042 161882520 373636712 572913329 951626544 261037552 629625883 694484609 857784413 531960391 200901134 595528597 418701608 261835241 835825159 862117558 836204804 865211841 875287251 825343983 578817599 259678485 469725786 321929452 619138837 217049779 894429460 110069764 872518628 455544837 580449104 952169315 776507399 879085722 111767158 527807992 279622767 786803068 809611869 978052273 922519035 859660017 624673878 835268356 457852611 542590362 554314522 936585231 367425530 592181355 121177821 708577307 918182026 199179040 161379796 344407545 577963883 116302479 812437128 612343674 988125815 850151198 358649935 846485679 835042465 117876859 193455134 568063633 952745401 407091547 709045441 982785907 860393053 659680848 731335753 867576473 709948014 848094039 814194835 621215673 408523526 908250686 964596767 698015365 264444490 317710595 347534759 991336379 947599365 185588030 142742884 773664906 373170234 672537528 362662813 454085544 372839363 682105340 174158581 444855673 330901263 752960148 206820137 288086613 946251466 282549652 571044731 610473672 141865267 701185545 607849529 693004267 888595857 210154604 114990394 806969417 718362893 948301936 730270470 855167628 918205791 799394496 592090998 826611644 609936703 964505291 444112433 115786873 640864218 451293334 352404088 420494090 458880671 564730608 875028104 850698228 961860882 324346613 272123924 119081048 162543338 628006577 985364139 461906473 629909557 690348993 990187206 322802000 252322287 772892812 947599190 206260120 508963740 128843724 280293762 948329926 131055664 876312073 518540450 478051537 671110774 452500766 158548377 351709655 519706561 220875521 845142780 888829318 685071496 992105223 980341789 385576477 825199121 648574742 853779322 717400702 447697495 604359619 421572291 124828124 317299294 310621880 747924611 751501625 222523367 361460192 517230580 690548613 263717503 468625267 161916713 182998571 645863340 172077110 128011942 169639240 846771278 669157345 572075774 122236266 908046801 512802212 472400084 298315501 847316148 838937184 941517226 397657230 713675105 634120929 961459594 238046693 241492884 141290705 740215895 734170426 335328780 441671967 902453073 474014032 588787967 310366289 247736119 409445281 650434602 958171526 559018560 308855328 217519434 731077365 137167906 222596214 931907161 626675509 761088184 217826748 182592681 925673706 609601288 591156097 634879686 184041174 842146200 198713763 711676357 914985092 254094751 452644847 277303150 181240374 256440890 415750426 472678871 152845687 828082324 585052181 173450539 111904923 288483946 140854379 143076173 762484722 265749143 698956575 630980129 816793892 836689091 409566720 423831456 820886015 100635072 584200657 948209117 185805435 223995160 103767490 676932893 132899728 432648827 993215590 703145316 716859932 736130680 839795282 613643591 622125757 464866158 308336332 672031342 653825415 495598034 509698444 246383017 805320604 181282449 300812749 261815927 793035760 727565608 326050986 361790488 308913612 905830757 291152335 945004427 680068853 999057932 357473108 703219971 457308930 416579260 223182824 276321374 581806247 883548210 650203053 217462239 743931632 688380823 388357510 496037314 441069649 533422828 397601144 457307722 712172587 663634292 931098868 529815438 769707687 477621035 393965192 370973846 950400550 111610285 837622037 426429904 840287423 451500806 104547192 137569481 943643582 107920884 553560007 569354978 394557932 540611102 489075716 482097471 543424293 132469946 535709566 639354218 471424906 526715737 749777628 300119314 726313724 577229217 346510988 992387249 983272255 670830656 195093693 723914314 663529724 987213589 382218875 987345106 588913953 111725985 763184416 880127955 353116896 721615851 265875403 918825225 404078397 145056189 595194599 752046275 792520686 925656718 651430612 138149912 375676291 562816865 754402447 138099314 488027407 167303834 888350485 474422838 117261828 589674668 852604841 228116970 308685030 548775541 818293026 163997229 420026302 218277918 222226614 137842367 185527608 872119182 674848473 903148447 338104037 539760649 571766954 896859990 313973199 751026591 165666447 584553053 676679221 741800287 229753377 941334819 852253100 511745040 515421175 217950552 876568753 643976143 363231919 562850374 137211210 754621913 626706428 935646281 644616519 780450396 105910319 113599346 343936319 976923490 962978623 191340828 655459582 780735620 205522354 565424046 762815685 344013147 330887216 444314329 812351764 198006481 374798767 400307751 130965886 695212313 915091278 644906022 182512270 966563767 977323165 106750960 828681287 585270183 613630331 616071921 354683310 363177730 881505510 117648448 172052504 512142567 397478317 479013997 282280018 912698283 597229449 623013756 206382456 780198863 787238905 864626733 923463481 956329377 914455671 148698344 671286771 534609833 682310646 338606408 279702653 769928370 513546894 990538076 408733927 512736222 604026552 752920439 198789495 477083589 455883413 929200148 471615638 823025031 252041897 478923842 600003791 214295287 829639553 396711187 473180366 165690573 291016395 899197185 102517541 533268558 700576339 594073362 639326452 457892093 888787035 993279428 655922267 905553643 145176786 787011727 730532185 301114831 968177048 716833919 527126700 240486824 702083536 113707541 291733297 694231770 600194539 934933909 947092001 801216053 825544626 916291113 936837459 430778679 453371514 571875493 652922701 476538790 116118962 249552440 653727474 272175367 473692767 612636571 528831434 208506395 993463624 926537807 520042606 523935318 336498572 251196359 346116252 970652862 731920475 993704035 457530268 868136822 167229893 328388575 996983617 412404109 688556468 606134813 847876063 825694716 813254746 782321382 716918862 542438579 854379313 685452875 768305448 154133259 700397906 243478279 920859896 632706793 141461794 997560156 474969776 565091438 280328967 186076983 948026357 781854214 108555893 178151308 451699423 753088295 846444397 694077300 509737495 250499694 799946471 336253509 968437425 503855742 968812378 697928336 908382943 629700758 615096910 983841311 645602963 516583658 295225813 291742975 383142478 994038723 583586562 677910143 512789942 738951489 880621724 329862041 429518292 963425106 476842808 861195068 275724756 638577893 358485299 579689403 903053531 283875454 722194998 887037769 522705736 725309650 225514064 691310903 440028210 155658484 272795526 777358591 191382420 647731465 626318001 205713089 432427089 990449837 493697294 516767283 550280960 825414145 747890871 674235773 720061036 522390134 677521583 147583371 670967709 102775606 476824671 239269793 599707683 947920442 436541706 872739708 239697337 358253645 392625798 527922065 752657340 718013893 904288167 432864640 929005668 871520282 914848475 774211447 886655186 167193607 629709749 155875973 845697482 615908326 381566359 503664855 402056853 412671703 987557578 393308059 768622222 414081012 397998571 216357393 962418955 126595577 797310894 228730919 387860383 499533916 129857565 918289264 279591557 106681942 819034090 169683584 668806394 183421827 971626057 931938985 913836545 519830401 353208959 952970332 644274506 620630466 864802836 370532510 797791687 326189037 668086202 850427691 813178743 980543650 462397752 398282263 532421560 277301801 715205099 995826072 281809356 216021516 114743129 949446252 501159304 349635212 838971730 447178268 727359881 411137019 738953873 811129574 655286128 801355207 541471902 148734206 341259622 795893448 537353759 542606429 758915611 138366301 830739830 382096533 685214892 289020963 607507332 565931801 393425086 828736219 432963842 738185981 740885727 321397038 873740676 734791432 582337810 234086944 763755275 469000327 713255571 257795784 764461494 120144794 467088457 459701446 832593331 637521247 359613672 816861142 239604198 820812235 889447898 585236558 747986211 372884772 584148899 105751494 168117779 563218045 174508810 451126691 745787540 910542232 445215970 234902827 981809694 331247310 791187085 362750650 430806156 121440678 572256593 227357123 431274980 709877496 192181664 180923386 733678296 598637058 637480305 817340441 480062841 343685221 660869915 480654991 370608199 650042767 976642712 874425431 648116032 107685277 219463967 127300416 670860477 704816605 879102045 463986081 514468180 288293112 253967293 464608334 579823396 578505316 241673523 431377401 680319381 311259169 804576386 137114770 911711246 719387205 957039444 470203534 286328857 274498671 329271756 576780209 410124103 179072537 466535496 677599187 336719815 342501515 659142417 149706086 184075401 861913839 161888435 933957877 513243629 706211625 651064228 208907585 402320780 772740252 683557136 725678382 536281797 887291615 697641007 614143701 400922819 424458012 125364748 597809417 118704008 323568235 108182611 580084913 158645094 422975496 336312671 168891857 942939467 943235956 150153764 857356571 670528728 595455708 752570860 227996922 406708260 502220792 701199871 914350405 554984401 277898277 743279145 152693888 141459194 780270333 841561948 930101249 592555886 348887392 836227850 345392603 415400576 305910232 882685551 874230557 759606126 778911328 620869572 972006439 820774602 480265297 154524933 474692128 946496408 929563057 548565697 839317097 413913479 872927544 790308638 851123522 548368431 753774640 998271972 629013306 706580239 106078713 213093134 368795286 293385149 307080569 160294991 586801325 311912406 700775843 145394908 335351779 972612947 517287455 780002453 588865801 434697913 311655610 165676840 791207083 727781778 578775391 810422099 187110729 607310801 153525319 483987967 855846167 297859303 311397995 982483595 872181216 483013416 703312786 427403850 139385975 519690163 778501349 585597874 382061887 340102737 180593055 472964422 630870586 682156496 443232064 512882712 440896435 675512656 233125555 650854153 558804174 384265361 517653189 127219192 412907450 785541164 875564592 324653782 737530027 783278312 149003222 174275921 955290142 784118851 231083585 511265855 847386758 463185339 843737075 489079366 621100347 653810513 313140210 655452522 908791515 209755145 457016961 591389299 821355738 133623672 537977490 736391410 246983920 490400079 750560016 229732872 135676066 147623820 768412907 903280522 248712540 477337266 604402444 496819160 991517658 497790158 185191142 266300045 266366110 717190060 948157707 675961273 396754393 903877732 890560007 751551938 802374252 990095159 555388000 118774241 282735859 208659610 576776701 217192002 152642076 106127149 721598554 125187855 507096029 957581607 525189468 758457962 992143085 885935980 136701107 318433289 207746899 269401319 139741321 916174303 271718724 143661751 371630345 323748828 274107459 105641444 764761160 886179345 688783654 837429665 151376870 223836457 837938172 803700505 579299032 650158361 386280971 794420530 796835832 678604209 727500700 473263387 296437955 659022388 387332454 633978578 813171738 135506622 483737242 123310887 922986084 414041467 888306782 513737891 976730780 874303232 681730081 790277463 178810089 388605994 365844296 427954383 953876677 845576549 131753276 175987392 970395639 845441453 207319907 936328711 747451687 320806469 807760915 998248880 231623791 547681560 328768698 642003007 191696249 305411216 599378703 861256392 899650890 826967002 199893315 710446935 455949501 731726030 149615199 397904793 954283680 607523173 420406523 353009828 954126116 119206547 158336149 711745296 351230057 595925657 706476351 718250850 711805724 195743759 193337452 413326132 452326729 999585409 131133199 580698029 173236465 866651244 769655638 788541849 404135607 406513979 206023182 794763268 743471725 283901684 767845583 246781986 390840699 103052724 490352263 980877309 459541793 154247487 974948668 897849395 262061349 649827335 283338853 885760336 893711343 806382907 245946023 207439784 561164184 195842480 125123158 616887585 890412204 964744842 449915968 856246644 767033223 726673817 182232400 462674349 480989715 352709884 684195397 156957223 167569623 231544199 959327184 984468190 906568501 320888543 688412782 983828074 789847279 238699792 804687758 987864727 859803714 467886986 926522351 781726807 330808178 723931694 260405155 620752554 515780480 775925295 711268095 383106572 387866191 980440530 166022304 999169402 796155207 321327054 248148398 298230764 628188160 267853690 872626400 485267248 728260590 950593119 921557813 269829780 689940058 212802045 426259440 656020303 338163204 490738249 592811007 259508203 288570856 146912306 325121275 158733523 672545288 532573995 523341605 900854069 165058463 698713694 473254407 540688659 219167707 838794894 809602567 488946267 521549671 841293792 487735319 590261626 684508571 491436015 250449599 602751970 382798381 650076017 108427659 506927772 727704998 937746820 176848893 181362404 168191614 915525112 595339604 880549649 325737817 321408673 412585211 738115764 935022259 362796554 221354368 383091446 120893192 461594283 741931740 435789176 946132141 226890459 142920124 391792365 919205671 346692991 899930984 497857531 858683688 446947151 757372394 420721093 828622793 802168349 232576392 517494645 780050726 361041417 591313847 202484894 388719253 542189103 475295771 746724957 509817838 829057932 421269544 253721954 761649503 321782302 118281220 481524717 321566575 300737568 573265884 293592221 231184990 345724952 433555732 659440529 389442890 930056130 921356601 243413787 593941445 851892775 128069569 525203720 180432282 818954189 859984083 895509969 699989105 907484721 380484369 977931432 946508582 340327261 938656431 360087880 160347028 665112821 210568933 678024402 168803822 115329923 385502307 296265304 853418257 806528497 936685917 370146040 931303278 883114174 481119067 686842612 994939722 832797577 369090853 219365673 504508003 546264340 735443359 401142492 797490898 652156306 733681318 217953619 442558240 676545767 431581489 101084802 252136959 183118833 844447637 689435877 290505829 375497547 322889040 519871572 705401537 329505455 323524811 917117499 713769886 805830497 572140437 967445897 479637013 562914229 516933669 584578735 394512783 491668811 803208982 671520044 229169566 923407588 551884175 298691150 569508161 193980071 985719321 589685558 675404611 646549735 429704890 459073645 448934270 871476163 681029324 251046162 241332014 450773746 869438296 863940209 820288727 112949034 842462131 408584903 194024772 514824888 410770563 450707163 137034979 252426919 332449077 520139889 251714453 270163523 244040266 517075815 172304184 903037763 839709873 671575008 946516653 127415677 844318460 788905283 899423412 535813720 408532634 648484912 399739187 551761271 462555900 542563304 242740915 748186300 133864974 977043972 171575206 923447076 878563766 912713909 901983609 804591544 547187946 234013957 417056227 753602139 266213266 291804732 305628892 293208609 530771445 132669222 146365544 131222285 260172965 459146925 759727847 970305103 208833283 197474078 889744605 876085254 220168350 531101697 879482216 456902004 964125429 934099574 838925694 247850641 540385548 874428812 103939110 629230334 311237402 385249980 619957072 236981697 617612741 408303748 555737020 248764102 269658743 264668655 440860034 626425402 241864019 357771795 544697916 782318919 459781336 489763422 100681317 426004236 669044973 653545265 646022695 240747476 469035615 782911600 879120868 532124048 880968479 516529658 986863815 967515662 138560724 942480228 240693120 286035065 855803832 291384451 509361648 780732237 995615067 221424508 181464650 547572621 211573474 367908589 203807173 485742952 284538721 528871909 629817836 757964019 884716588 144740858 798678702 451669684 678801116 729308432 264738773 967263390 169703291 754582775 621884224 891890806 488718310 653349458 424841749 980928569 604703572 183158343 864281632 152313071 445095097 804650172 206662434 712314931 943190257 517131441 127532916 267956090 619219046 258431149 641301089 744546932 787617272 803981392 969312996 366663043 310936463 432631550 962220339 143076332 388620999 989171442 672220051 432066720 973678816 560150646 168603367 154263000 841972009 748966589 832730523 958049243 425744858 915227455 578172288 675423724 538453587 905192035 100807501 885391664 972138901 394610866 863934046 813033964 956477477 901452076 278472417 184904795 373727848 589405951 160788553 471289357 734914955 958177546 951807892 888073909 705215909 780833025 792730277 297174043 740336114 643327410 694603355 926455670 423107979 765284120 350214600 501511625 890051836 148626258 282234477 776153160 163118151 934304065 133119186 824829840 328672777 284147443 445690712 706813295 528860297 643474199 174400255 664239262 768327563 769434187 873230779 210892752 234670190 152932713 645324266 917913005 208761314 158882026 145056875 458856337 965266467 486860764 837925696 121427192 110470515 328644587 976567671 386222703 851431925 630191856 934756226 219407261 950846801 637749441 963567081 179554243 458925182 738268031 621064453 404477348 180721573 273963885 611723968 354663986 645712376 287039530 990137370 402580803 609060754 393866571 843033020 499440063 278394164 779289375 421126195 434445766 312566948 179553217 801107388 514750195 210689262 433431356 559152361 603447999 508729986 207293180 428926077 770716871 243942970 918456380 317860045 292438935 586482978 276122675 102328508 502685466 753394654 911077015 749980532 305905806 520329004 910397216 853100206 719463720 472730910 568214728 624702234 455701811 933734949 208726386 127911187 257915455 456812541 127633113 115926304 461836364 171904092 647777053 174256805 154907566 363373459 992631800 115586508 448244656 585956529 749100831 658153761 897867795 348066687 918010309 369134580 904567422 594610440 743406316 735817868 422187565 830333102 556049427 810407049 541686584 952911007 329595650 209202176 539568131 256288354 345936569 385540846 872789574 907796592 809150627 881496496 662988748 308316381 445849629 956651298 110522781 244858005 671056221 158668104 792414731 941722194 943076942 639283092 212034413 211716423 739522935 217440940 704193110 206872215 635351528 604537427 917477580 125630116 232398189 949748604 231505679 783517457 710469088 998152197 806784949 832204116 484269737 227742103 904350343 387351788 681734698 553535008 927319377 195792694 351406699 376447484 140672168 546040844 815324861 696426088 259429723 861259783 112927381 969869585 300652175 215555219 874059641 697046193 799958003 501381362 926505263 874113220 126276308 101623912 628841693 772798943 376614468 578718712 386850827 334711742 585503518 207019878 892004291 484562767 929030846 852968684 443002466 515066975 281759317 907843703 253870989 385594667 916504561 326088855 998980465 220265934 351704904 592491571 132423365 998688674 745149620 599751138 606487208 112651095 198167524 377542521 901034160 203939127 452989487 115978549 723109680 335036008 541691345 472978070 391640793 319764112 343651904 369424538 652494605 775007926 512636249 209643641 880657485 400304571 272952112 452355194 824350431 729047599 376722516 846864571 934243342 314245409 446296122 153391168 382375631 754387087 177211626 671690824 698514430 429355555 831594773 685595871 137141820 613133888 439181837 135978103 792244810 132091911 478670482 686721637 636206766 809025336 299029969 739603509 358972814 138507441 115190323 593789005 245992977 109220426 447718870 845702963 606310190 466995195 381545371 163958837 595051916 552795089 100835072 150401501 171849940 947714847 334797656 100479423 515888853 388603071 970025648 914733343 164749028 964746473 885162876 713827223 896984965 375611900 591939607 490883984 251951286 103961418 900265218 743406539 797217726 563661448 984569787 562472896 167120379 559594179 163185581 258703435 965060855 855790153 228574533 113577860 603837772 191056564 656193548 901790182 994229763 414833332 459453868 595398934 372060784 767630059 126447260 922926837 260664662 256381906 611398099 320810096 712246942 313335214 820666898 231243973 982853748 301697122 956243177 549882745 699166445 849324881 995841873 727001886 532436470 757251007 424748237 207475634 829935909 737391619 824331613 796322888 334711647 939511489 553602166 307143886 287584609 414271859 152316322 241127298 240346630 516147380 987414683 452874107 421128477 494923683 773172724 891742652 466026598 419125120 150128584 869447310 234620997 849685854 720230845 621889969 370214629 542936023 868865552 983757278 910421154 659507748 168970514 183292952 241980198 799404638 632767023 389057290 455029188 345593403 421570664 926487714 230339843 692383919 228611024 961514460 607246325 473620206 579848837 505297445 923788414 465092233 743797300 836374569 473370211 486989771 582248286 743516446 392483219 753174226 517441253 424340032 764715959 972070649 666574610 991690566 392909590 186624055 489790681 490157706 173180848 177593831 141704080 992673217 943272944 907634780 485250774 625271476 686930137 718479456 244926562 164816269 269949622 256995710 478538886 870086442 725260185 157008107 781729016 189898304 457856772 424197441 552289102 309313084 658295068 852134566 520941588 241570326 442070601 775982366 589060656 490179283 496797914 368000673 552322990 957444756 932753489 613610272 162865294 460413496 213124681 581569675 485841916 180138125 976959989 934640728 499023679 688329570 416862460 977739072 211742603 469844901 986389509 518257369 212588749 465047817 820711661 325778862 483086231 810875367 966232400 398667834 759266577 173591876 889608546 172702807 690022689 686340603 307970904 445477536 951157324 336862761 543982222 177311077 237784068 980170974 825527878 908791297 712467421 916985505 241130768 355668816 424352704 257543355 578596973 924624002 714462953 542629274 718231592 628154038 187299906 588939763 418677849 695114485 444989305 878305230 555051952 994648087 527615468 528723032 604404616 919041539 595741010 944018657 775597219 889552496 612652913 628200923 592752241 580126203 306960368 134957475 991707779 730474806 102486709 891587125 390483392 345134552 508557439 293408146 168306728 343621369 895471635 345690339 665918072 668572984 901458623 215432359 160183042 388702031 494061886 173902940 192291232 925745409 142215771 165973030 262827155 593549128 844318094 963188708 157550575 823368275 528861400 335931680 723373498 750526717 958269018 615189509 634333842 511115727 717193414 659875339 379258422 942115282 809087111 254503933 423833145 733297456 180922425 580387095 493578030 974113933 553987995 739891291 274397582 877146670 103976681 391901585 446645134 327738164 904560386 804187726 539566876 208994842 540285736 315105117 819302787 148611779 371939916 549222955 153769025 251456842 438344868 486891814 367128528 226693379 540714164 348966101 516042019 920444302 689520423 914909981 231878439 931588320 987704342 531801924 914269326 773928300 433829554 848263008 495540424 442880934 744777911 279296918 627108121 902537191 556586763 482897978 156995356 238015411 735133835 218913822 484625179 360308073 609201823 667196713 873231190 750494219 688771961 351209985 310868945 322805695 822877346 787897506 480220902 975516826 349766626 416330605 251479807 594943115 504244433 883201095 757208878 431199172 210824454 254039787 883478290 424551831 991777494 915249958 475882691 954497496 425099240 315236886 609429121 967908090 641923271 318511311 523266379 822024820 671409832 660073827 526210328 804161722 868997270 686144362 686076393 636677766 520377855 863058857 649982064 395694846 116477832 873607770 395369664 616604564 325426244 669656456 127619613 445336149 895662993 287867754 593235730 427935697 637085753 589789827 865950222 228762542 169347785 360867408 609193832 816359494 318752277 998368111 561817843 373483894 191251536 445948650 307598078 570046361 987909978 154610855 197111864 667158831 946799821 133109358 304602704 364430412 190953997 995543171 694326493 272440896 247732184 196297688 674149466 649914189 598099477 610051960 605605093 904914799 412943562 888229680 267374354 512524966 792782733 491416553 910023724 165194105 728518559 191903031 573203835 167063826 415853055 785317915 114754528 442427160 536211657 571834384 606078011 812748575 215654176 770199380 679208897 158106279 910114646 161080019 247800040 689935106 974952295 269706254 382981788 907206030 550229252 848578585 148000653 490803637 308304934 972437558 383717407 227363197 542493896 133997208 736727325 542491038 974937756 945386116 953243199 794965309 812612402 678886889 792661433 771309481 647066182 607547136 299732003 997288765 484718922 855985625 211932062 626952584 848759105 252438952 899872601 484027548 684248532 939593199 212266415 921271519 466023443 354849944 625169460 772876739 110895983 163392892 348645319 752059729 600745339 719211382 910312886 207373293 991407697 880534847 412954561 119808806 251335215 113917189 931217245 861086436 472746555 578290754 278208887 796606194 700578088 880289690 377798780 629530639 738908996 219279770 674632744 373068271 233870090 550474326 894472785 711824900 586366155 776269214 573622136 792522923 201492331 548590555 163403676 833587624 565102436 525715341 525362828 351495129 507094033 920258167 695046348 927240243 378327336 748297354 941022090 326585132 475016810 385515684 278781145 514319446 567615332 905961029 619025004 187110773 129031178 564347365 372131281 461957666 507527017 691729376 920649566 751503232 838049536 394604952 363379180 482291687 758166277 495098440 837567262 647376129 142136453 311565761 855503776 956298201 680476437 803291468 496852466 763381419 291861744 134980872 662694612 138650405 416411108 835024845 334863992 851614110 857388232 816753301 249080447 733025824 214067990 194574350 311367285 476521314 936786853 307443537 862146425 151299137 352304163 885389830 643493611 517071720 573419217 221485274 392433741 665831633 327013644 745112458 327074571 875080149 658531569 920571541 515449204 529276582 561328303 925962772 963109635 352296614 504408069 810496973 684707892 272115731 296585451 400881581 251290182 782581654 229303182 785531965 356074649 307034636 902163236 578060952 871746454 958747855 459659346 114068741 978777551 924452007 941400050 321668302 785120620 193560218 747957630 409951560 646678305 729976407 445539820 363556015 345910384 369655709 666895814 487537574 904184835 493733573 684127052 750102198 132254664 875457742 244691522 191099018 120926099 648010420 206723457 547335281 495413924 820826725 325035320 913257026 343891427 829956820 880225767 969544165 223476331 555367550 643234335 822705620 712438070 172785576 158173249 332340035 802017446 677598683 925234030 440353492 829421719 101877948 938223172 931381628 789274089 369792171 954329012 693481297 925804804 421536864 778884417 516475367 142518345 131374910 362937241 864855523 502236665 909482215 834664513 681899467 639757437 186078843 998023814 434874868 835781031 856082688 615277863 267145374 239303850 309319714 513540673 829040624 633760359 955003690 860212665 496236529 530903130 598386758 823852924 735366144 462705260 603400238 689314734 763867746 526777514 248922437 122438208 453295804 360511938 458113427 608818394 708813941 251377587 773748734 777376157 769848870 877925862 529439365 582829681 421311322 435183958 598570003 639957118 885366317 701923247 325701087 791831559 986077969 454628984 579526649 533890233 562200759 172804817 175137320 605493202 184315262 602623479 955796244 705531868 206904849 897496259 735207246 963058172 158933760 450587212 954099276 328172060 596765470 721601170 321683584 726676498 636631344 215383474 596687608 926160971 209287960 244094626 537741656 917156686 273882045 421803884 250330931 273874670 309391691 553226508 603264270 574617310 586259123 812963315 564747924 541537522 900017461 301826438 968499740 983882023 710708732 911992704 579660618 716866582 256981114 494920034 407520322 580111091 887883099 492572753 650720558 846305027 510236737 743049867 663364002 254232027 159238621 307539024 721633634 997700478 778909690 499532618 685152423 584776071 635972239 890417490 325107124 570342617 582305965 944429648 161597199 537670627 841857002 246492210 361146013 683254270 343919272 676855483 958480230 419428675 139200269 806300177 473538292 132404185 177646941 334487480 912647523 769078622 810748183 169024983 443908269 656698064 312216792 346613414 622875060 784290062 853578723 642210962 876704526 878923868 503678493 522159313 738893912 248333147 470870556 124718669 852139512 932469644 624857446 698983346 963797013 132226357 875083849 453139435 114167543 479525357 751709753 186355590 868781757 450221925 342042803 101660912 291242027 169936997 304854656 113558399 774842146 904900772 307745866 182433527 653270716 328681567 985871204 717407749 690193433 130105762 554382310 659969298 656345074 406981804 223530108 485083624 538339921 707332477 416440237 781256470 618664089 871754097 324924535 634992645 574685564 668068158 415123887 175177853 104374963 314284962 442940125 765402107 818478604 915613372 701566163 294521885 449555939 690059352 946620326 673140853 956713750 440760334 497926983 634403139 278148369 351851978 564324742 614899866 684955356 322133825 564734430 879092523 678316949 857914491 526371338 457519813 362140707 162628436 625246000 658369119 802969083 299294570 920785420 255340332 114956343 518344838 576112148 450977396 188297454 683496734 915822527 761096263 869949611 467584034 423937654 624609910 248893658 727815517 447197044 618374102 354727293 646777396 811094050 483926137 222717238 310863400 622912802 162937227 698077292 128031228 665096005 757968125 602281428 727792298 553055888 452726865 197108131 230483072 471980596 488390736 743147967 955036773 677881568 603215500 150021299 412308791 161550076 808026113 253761949 444342348 619785024 750297361 266302707 472208158 209555719 385205448 740421138 764850030 831007884 164166982 366035292 449569993 809327487 322799051 484722606 574694942 446270087 862404371 658596926 548714753 492136803 860809228 132009090 109967708 304546191 825192885 463941568 648374568 550653920 814869980 993348899 598331405 291383318 288374752 497550807 113644578 996960747 262203362 539821643 237580361 941497914 690105938 708143519 531132338 679089301 457840520 628972970 510745577 730639483 755455634 332867404 876950895 847911767 238023681 493462845 635349028 718213332 105448910 464674970 768351653 302603903 190366279 272936320 171493222 365621345 838897967 492445356 226173293 787158049 111410327 576845097 803631412 543065131 744848782 917472280 344313925 437451132 536540321 517219004 426696445 416919294 269129843 409479684 827761347 143978151 607782907 866486891 921963661 926290533 635191770 944721484 340378205 148085512 512178528 590436191 606274183 473742732 552286165 769822884 462104519 726577703 631861577 158839124 430510723 952500340 254243559 897488164 870219514 534904274 473791696 987432199 656219195 919285837 380233191 257252169 914622498 399910161 643058585 485913789 393877605 896143963 110451539 270170574 622631791 309094105 183655775 914771019 362528549 503076483 218244162 274456319 227654131 264373385 521131087 574547354 171375732 158641686 792163969 878744519 974089822 248978505 912258791 368944947 367990153 588226392 654279171 709950125 602198959 446804309 310495042 412545391 691233527 633652147 198753802 703262835 157750397 178898249 782286796 379299445 759316813 294638552 729396852 855544895 984490381 666908530 128838549 423609790 118192235 595658492 728267450 853998414 238616535 743737926 698107461 191014445 495534635 877131533 467726371 423554410 734645958 542604026 131438850 285174450 972269149 851918716 403612612 115110657 690058484 165025124 261809731 531103429 262599706 754127204 400463231 682908211 653711198 897614782 881736517 581040266 620819860 369236884 796807341 196004185 297104942 207020147 563024247 797719364 675432321 703103050 398592999 330928089 747109253 766065408 434579925 291032731 128684791 265749988 206766803 719527851 975058697 316895925 920070882 105386080 257304866 965071605 100115182 344880749 390226523 768331135 855868311 579054746 220765931 355753408 604955019 132964132 744280428 847538777 760788576 758147761 304702791 205858550 422328571 521970508 349082546 136288801 649931886 573621324 337262617 323137909 755181467 251624416 636193352 614455046 720162121 853901778 626435321 429297201 625583356 387391286 608867293 368663753 824441028 719220848 329183545 354449922 879103542 200824782 795817203 459287003 835019334 475113362 931715674 609265611 848171709 273469759 790164128 744291201 211872300 877546310 635321897 726902023 462573710 150483349 467025249 358298327 743907793 335178360 862294763 310619964 565116469 155572390 542843915 271681321 111055167 981351046 171893411 805258149 640992686 389634407 156128617 898060348 338648096 445266287 100379411 599650983 636355220 869169037 148474429 588461685 810860531 177305632 701808274 735527272 115818727 997044862 225129475 293980091 966083726 772040428 352252759 957935449 922232669 213534729 172986608 118706726 528238456 757085073 836359951 838973718 683105774 821451723 300781242 179986152 690397719 258569642 339150054 414776481 101513130 461816194 697937198 273559876 855390575 965939252 403655849 478947532 789994294 447935986 212242026 453571546 241653199 664340059 815438343 100065851 387418521 415823420 476487864 742765559 269834080 285848031 112406661 537720069 535078689 554440882 964765416 279002887 393529339 568503095 787744215 659477484 709306035 781962132 364499944 321734066 761315564 366340196 921067755 116843551 457918190 773803695 140233549 826608876 625729225 714283000 691681199 147515678 312080721 639159111 293749423 434072681 781731612 842689526 685411813 687123348 309304726 132862117 717598420 655935286 339993027 141085453 724929626 810463194 370965269 124824496 149700125 704470448 949855289 921107279 416386754 247016094 245903252 915553538 490301402 589962208 535198075 227891410 704194522 308275358 100725319 777954807 113179427 246004921 430571595 770411619 127323463 119300499 490550920 922565542 667518887 937045387 431452978 430138385 452975585 793173361 329825410 388179246 326743006 880775634 840750841 896068926 981784847 460929361 138611495 338983431 580522788 662483018 699326709 356253910 556580779 174029897 320964115 412488472 500055921 401675039 421771703 709194161 484473047 142902477 616065625 399763567 400435795 112085684 282711930 520550052 859569399 473858098 320567430 171191139 694291518 113578863 534824623 437561953 795413426 414953814 659623303 323219410 116882759 820600700 962850534 316392914 905652030 284809676 626339026 152890213 756088396 166953647 400805263 271838425 542601126 298545437 194664859 852398802 430342462 655489524 307058507 855390446 578206351 163499514 550369089 800338516 471064223 323461552 870703466 257027122 603595609 491668537 206936688 197873602 788368579 639351742 521455268 206525418 734752053 507888205 668606679 887111986 545626270 669863111 630140014 879151378 166998908 651247302 338790993 916588537 930478329 890298362 470090781 437011990 575718591 211470917 658497483 802254515 985580373 812370392 625508619 689014145 896281506 548218712 807547229 592321380 759085113 166512064 531099968 232689274 253741062 498126447 198530579 671833169 723821620 149538992 664904200 209200050 262151895 389673437 948298075 625287873 519797630 660128136 624664461 458371863 171954528 146688255 833137297 426897347 451829590 789106868 515492846 821520513 573039354 947072324 418821424 346969555 454010013 503538475 226399920 196562242 321541848 652810096 754105229 285113585 970902228 949257853 705864334 841658151 863733014 473206773 216144408 715641018 868141911 410572337 558858035 861870076 486597166 878203392 296972619 335239722 716000741 516247689 212554768 679985770 411100400 200447997 185831145 663636596 960448298 909592478 476868057 984858453 827473564 261202245 954736195 816096520 579723245 153431916 503708165 356661296 379694816 777313590 173495611 581950892 616834596 858413863 782971548 557574519 280975178 346448398 920085547 420760244 828598809 838388813 813853988 948291162 288710679 966568975 827978276 943885731 857978835 557246125 223150495 159048814 722006548 966691569 492595576 438618294 488460844 192980481 371688706 951612398 997809635 713870701 169328428 375243198 526492853 511011568 413823768 898260241 892814979 564162553 626117736 498335395 904791998 781770651 427779776 560541129 741209116 999949381 741274129 543811123 621810292 679145183 937098105 532790704 281373967 805553344 469441426 555168016 216212782 478117602 952023214 378818657 454203512 881214546 566409255 692290713 454982813 537889798 874194074 630208420 980429480 551712786 532710229 628485441 149610201 176663660 381073345 692592937 179695998 735205106 246980616 335156841 747722341 400829633 764237311 345724524 274004494 771752647 692978495 167742638 136402613 992832358 521503657 108417062 683535713 173954065 676706644 396133916 146318828 180785761 429070720 500442754 882983102 497425279 648702654 713577328 950489216 337688433 892076105 598029487 128083314 288116047 797819310 132184973 349186336 666539767 828032973 771548534 660811804 885175404 898606960 286605181 774773601 798583349 651660436 838470155 583325673 384970902 618111736 720552814 692694842 219380626 378435998 450544618 149233013 361883932 573485659 439169557 187720478 105129574 657272198 957426418 512769528 675491678 714923170 955172279 689716916 483205169 384325969 877820347 449184144 594459684 621722690 714281692 626984252 591271810 821783239 363749953 558274070 514506040 149600854 583276659 725384491 132222358 447117059 317277344 720302652 695999445 388064336 543427519 388967182 921802468 679968614 766652862 226754815 823643682 957237259 638627364 554380246 195474839 501635087 251130739 402236191 722296779 406269207 904297151 997689621 237410553 227133652 279975293 202065587 473263064 562780630 361362595 968186966 370144562 820110936 443078911 107170661 665887506 746201969 692217436 728168695 856137676 583203831 320264439 729031862 708731758 763530607 453699948 754604393 323193561 996943667 386752004 584213100 491946136 274759764 930900033 566984026 133851598 519130418 581688938 624214176 943822752 955410908 555181355 942699004 783063418 461905385 711987236 957996891 527123398 320538478 695816917 562580859 845298652 810509861 764126155 825800076 724902524 805496245 305229547 985415160 969660137 688083441 234291990 584912537 464749211 889910903 668278451 105421884 450889183 445659654 227336310 267920501 791156716 471797061 304883295 691913889 408566705 158837466 859307137 884835349 428286798 606177276 957221348 617685357 870693562 264810167 207898587 914325038 178614712 372025588 764148099 252655497 159552648 451652860 873070053 991454845 941508293 328117852 909885570 246318859 580020614 464572040 878229999 482283645 693396851 120127377 717952580 844782897 457201893 124796159 343590317 226276892 611205644 158218185 412161253 516542277 380036947 390153941 774906266 836334143 992356436 270357367 621135635 926391185 873175963 611832448 817060538 776550890 121655716 922159814 444623887 206531632 329377217 167692353 789240926 814546114 849594466 659739139 220175939 166180387 656120182 917214844 347062633 243993365 167582541 812443278 823905618 435983124 269096817 334297655 191039702 574580823 831921143 359199198 518673494 143692925 582009305 675794614 292546918 484366777 822862166 920680296 757519716 573130949 195446177 229994508 761658425 460273348 568326696 779718865 869201803 293547189 985517403 922293674 156843767 117477897 789260947 693756606 432142119 314629991 682522406 787001705 658207929 995349050 320639206 585931195 790704943 909714098 941489537 494600943 207863753 431512146 889053070 788253047 156683446 367995871 111305747 276627281 826947339 827204347 604449331 134217291 976138517 132598969 766469374 276751008 932423730 547999435 587621759 910880765 926923373 998296921 646644587 704628479 761093166 294241573 374341607 403426864 428060612 659385453 509936081 191301110 556186936 775429072 990612305 300540238 819350464 100737755 229138737 622373331 453487990 232027605 368282954 860585049 166686055 795172168 754733451 197237095 681877258 609528558 861702147 216048940 338634558 142527476 964544687 685668810 169696546 439510150 736171245 250272895 778162228 466280088 640131640 591185028 506232211 566255830 232049194 895511220 690125056 170524320 515762955 134844770 731059517 922767511 383699165 966638742 805111927 613860648 677807896 316080557 599493461 115085371 109428079 370131954 864168119 123493377 196150129 958487074 638305564 394958432 241016648 769967746 974393358 494968964 776913724 718859780 124826855 487198249 621180232 220928632 221262389 801527817 446035839 284733841 475301652 888657553 116234995 116599526 568202807 838774239 766340079 124974480 612897036 593277757 113962632 613221452 514351516 356455917 442412111 879356149 234405894 850030802 930918679 694971580 432771280 888929319 910449929 884310455 100880935 464607282 744222142 527829685 369709863 247126775 889422548 991632169 159493282 488385159 723491394 148627506 192824607 315421895 958611909 416581332 140082518 624004112 420435793 209276717 876176623 526069204 649838549 996940340 664813235 634273860 477241722 607369075 989759141 272600528 300894363 597452897 422692042 487016958 307432376 559476497 498230478 918320621 942559192 856051957 720117302 413091130 440985124 315770700 349524706 903125599 462593176 645694867 908994262 165767592 584309281 872040224 999663422 136939187 228797651 498379229 705311367 921812824 715108163 861324310 830381248 877974799 573925448 806899304 575927278 506259611 296377820 368421528 985264123 210063100 449569987 673801807 199153475 654903582 603454068 772477459 177648911 482750375 533262595 576980807 843653879 728985491 334964459 884171500 163265365 663331502 120444226 511377239 879488763 807031246 736099556 475142373 962466753 292396298 440020239 195106376 246817768 922477425 985378183 151300682 760176839 382004839 515602723 211822393 380665269 547428861 969490886 525682912 369458004 720484631 373442912 617843863 262783664 160664123 155787931 733954335 272754731 695523511 500651357 412304017 937700154 154790684 269188032 349417776 105983177 671256283 690718450 668293737 781081538 395652477 183954764 145695840 933602347 844493043 327173343 940836385 235747741 677723127 785864512 276331784 966086102 236411561 325870677 722830261 503917508 463451481 270267964 628294873 220015872 400303800 140002637 358130842 506333639 398242107 598673082 278123836 618854364 595031920 986874806 255521709 767336589 570153726 575367039 379998664 822276489 102882524 383499190 773532847 689382685 162837964 700885839 804114405 697842714 903169059 819298297 963625077 340298425 146563057 853478907 485991164 447804676 809963574 892975130 663132199 769526764 466537039 951248732 302815767 639375603 726172723 450716077 659074308 342897546 840146946 619246943 823077385 244876025 451699476 113390271 278610854 690200660 591261978 706320183 243214914 155733804 485849387 111439275 557515247 991748070 183616267 378642169 949151875 101607755 600271958 810636369 891663586 565728854 352370658 213214086 925998260 831059358 782861521 582011500 356945707 728763005 113677156 704130513 380161222 127825313 806132558 151150651 231783829 554450783 503673386 633653992 166598382 757376280 272434732 524555959 732004792 805509585 586064791 962359703 780772312 512953343 373232133 631029870 862781147 713985247 630076420 866387709 852984963 411055328 156320833 402358252 568393418 114832453 525373780 940752992 818169357 385687576 640011140 165059654 397626051 378402115 466578725 811078009 940425619 723202355 449374737 949246174 703577478 473773840 552070648 204518258 343956024 137374920 544772653 917008258 581801248 957794849 125824175 211077094 211025004 760493448 584546402 760183387 280485232 194544215 244724386 372317946 425540660 416878730 930493174 326339195 140664724 128433556 573645163 921448532 576242679 961302324 438956111 202162656 413318348 461772883 680649097 650621836 140201400 320246301 504995055 736203947 132477010 775093683 264807980 695058982 508638285 460691180 947204543 709908873 395001461 413660855 559309833 986820145 815430980 875849969 626212245 101580293 213838586 116626879 980934273 412773633 660858880 207574235 169498060 615804630 801746748 253546206 777901359 473958470 351016617 190553941 349302828 396484587 629891282 140341926 985635527 702046108 992348639 827556981 820714740 678970052 795692449 897496734 347776985 269954024 139799601 140606188 669933249 771311256 556770043 309462931 890381701 370446835 844690479 565299727 562322753 210609131 565017572 134013585 569258159 825866409 203747463 163961845 871976628 534886102 872720895 888387352 563078643 846164782 683510611 791889423 856469481 112854782 773847410 500905961 951905378 308097383 597711303 967789599 627540847 794506132 758234510 690594736 305610661 947514755 657266793 487079883 308507981 458376482 278978320 923051915 622335102 233447911 294164526 586184724 487964056 682161310 755419079 838945719 134107534 575170370 404020642 219885087 510780739 802963291 893650588 574291730 348754206 972241833 104433210 536137668 467678951 447732625 638985019 411429380 164635637 156736836 983130783 310580924 743890848 392721926 831309865 931201940 275476894 487442083 501138200 575211501 910253684 297733583 251878532 986453484 103963762 868755024 417450323 132219462 548612756 919303712 781695408 539484043 783947219 840004248 643451838 896982916 860470869 136157484 914570959 180644059 235211303 965928820 348351476 613305676 898279207 232588833 176228645 201155487 911765535 847249568 906947678 368131796 785937233 816492317 878012978 705143593 911353090 456135053 795844970 822177148 271250329 364241710 389586117 430236104 627241682 585316168 231462452 320365885 316071393 331491854 701048034 775232515 943229750 675273741 555237666 916940439 936329453 623722313 730949589 956428638 451133019 735040646 701441652 618469311 506534369 496566512 834709672 990051002 774807565 634938379 385992988 592585393 992490366 517262294 174965908 533599317 839041386 296605098 838089522 357978038 569114551 682270434 227021028 515272360 688649139 933621959 316621884 248361730 930818433 533089234 356000740 366532597 356943464 501244498 105800628 391756014 166186569 605179371 447525608 854400737 323797097 404616274 644503678 719310748 328326694 621670205 140856380 716047782 131447204 571866016 378040472 770623792 126882211 995611310 339703164 361829619 799880192 250304886 786267627 319545844 972499270 741127816 428002537 920084186 599389462 659744695 722917215 668347127 747544601 157182180 484503918 796503191 375315225 329898953 597841322 267612866 792923052 409947128 157773055 576498104 453797876 556247272 245198025 819502929 572402772 160592387 801511335 487042738 435719790 905199752 555923515 126182233 278252827 459053001 643666079 804249104 771036550 595630978 350644130 267290194 839628662 863302259 633000396 221202659 249066840 344836788 829730935 974668928 267341343 544708812 864283063 149171708 568369796 949942034 165615359 153338909 888559294 817290781 270136197 525907025 783551940 753232427 891212128 795009135 674200598 887778442 170063893 696503361 570699805 316219112 724010435 315812480 237710922 443064412 809812160 102565657 356120226 743320808 664454535 515151463 309509674 378188173 552689148 277571206 253016765 465877590 520717297 819065885 997242869 958825852 144738262 651041968 512434179 841753087 837923844 126995101 425189566 309986271 590092428 947207892 485338742 408503015 641289467 163052556 538667146 662247223 590708951 451726895 361766843 318003462 119000492 486407801 705474810 530799063 662653283 482041687 952809321 758940187 611186611 847377615 511001985 940310870 522755800 410103780 790326322 144509060 850594780 601658434 783779196 168453694 987667001 311981046 184348728 321895381 452335187 449996586 283498579 472869412 718184114 662999575 983413058 274502774 442922168 367902115 936730855 919597394 568782031 613588820 471882823 521270973 927460448 913015334 592676128 223158572 157368901 664874867 926285717 771332758 992942202 219522485 256956108 783358360 954402527 324656694 359193359 335395831 326912629 770505150 714700103 748744770 416713490 811191380 241473151 357880000 216230523 247482270 546220431 279484254 523851018 406746287 604120227 261889984 611615771 616486520 857920616 779349514 860427492 442294599 828783383 979506505 378508722 134253658 629508636 653013974 537955489 676153644 578636758 474080600 639902893 745833338 140115507 679348412 302784593 451872011 325108577 589729135 923378653 486580807 769231847 359093108 765794893 855049245 749337994 464762281 404703100 933084788 754522147 533836267 363368711 333215049 793265714 929670071 555927536 708734936 491582895 372755068 373563432 666477184 787189073 195952626 250103283 256663888 164316379 680934402 516456184 769564654 398508195 845053718 423613173 970542267 363722417 664501425 135740823 248454225 576265451 630815284 403150350 236871174 316874735 714931879 119795525 529436704 481803999 625901855 388348383 963504564 127654099 866317760 178507037 617337571 164645244 300743508 426941155 862894225 908266067 133418191 203469386 642335649 215474712 861815107 272253979 299813450 885406943 329505434 820254855 736369506 751451148 658890262 367314802 909360303 339536321 898238598 919098876 202782258 317967032 249395235 961211301 435484605 188551294 814762497 781648769 186921756 252448566 747031901 305213573 390025806 663207080 113625929 182485119 380269949 280759944 830629226 329029113 219314173 742518343 576430748 118222589 840260860 656498945 541262733 119395796 702660273 549457856 295019798 775839523 248268106 582017652 134317099 249229487 963272607 806041103 594466922 124551672 325151225 689967270 876071542 383084806 729923410 271166454 313149137 970588227 503257561 983634400 986839023 324720958 353818844 466212828 287510173 871827569 270239855 329040641 210844893 167112259 597006014 570300213 775648487 653086218 497304027 147249575 177046886 161769702 176892124 183880220 445207228 447580375 715618119 983874269 739423961 345526670 551165460 131547922 799135239 643912811 769752977 575468353 973845117 440407921 684999277 273117757 968072017 831530596 501138601 382627082 875864619 180282005 129773280 280291392 580011411 712638941 901575236 756954466 211963057 168747733 552816082 785611614 225150494 139867072 607159433 121915223 683251064 281997960 456088320 968440516 101120261 845393215 662348845 482821202 283326645 822159523 529068794 506643621 864038003 735895306 391475724 548903351 519395829 675340663 982482020 849002198 700247007 517033675 538831679 277059446 792486733 351867225 142499064 177191279 343734520 881221219 722842366 229567846 322067947 983141862 443087734 910522655 829556849 525563291 867311384 959410102 475833065 487065638 568081767 983608051 652176484 977293722 480864507 376166481 285190305 829904452 750520932 865034619 691975231 291410457 379393771 135864358 352496273 733547010 256117029 357800626 201911438 159898405 390812285 286464992 161018966 800405939 271350844 859096994 971609309 566930038 847710949 171658090 453202102 900701779 803517239 574805898 208475827 216234551 794606976 612628041 815989826 997557418 820434824 890972126 726390364 605359887 760919705 434838218 280714189 276630291 620846965 455178013 729611359 928128285 952452354 835381899 752953022 503104609 664245035 626530280 704200023 859375086 731919794 882859832 162152064 954065145 698092780 738713814 599877521 644413717 793429976 847611202 611816753 916555783 374905560 336013022 165436159 429785897 869183595 648399572 477537908 219547240 225547486 928136231 373003875 697751759 912636094 599861833 921902192 940039989 671018089 219036925 996838062 613637190 590949629 474784427 487180032 950002261 878948959 666858805 802671881 596288138 910653195 460310592 393100312 224265772 788313517 334981224 726341747 744265207 780368342 150636807 679825826 439969491 136022305 140238680 956676359 926770880 311832329 875350696 432877463 532995886 278251592 342544929 830424532 467259376 209949893 412813387 581695394 164598008 173227933 667921955 735318545 488442614 148045339 902076770 232601078 848015327 319275433 570981922 147834426 223003279 712373756 870143534 390940516 689147013 572552107 394414471 613534815 377002563 118620268 624314143 817348209 415850124 880523454 844392053 196627867 145842979 838802372 179609711 485355351 672761863 445760652 444029467 738060414 918443170 171904766 995952042 755767068 685406034 524435344 136515088 915516972 834882876 260075862 509705329 847797300 150180499 300820202 247345156 745125448 668431383 254876050 570126708 992638779 573811812 177489408 753694471 100388506 826732272 461995462 313468299 953995894 641814034 531990417 802497105 819362373 479766623 799576477 672834840 322635910 374684604 145942288 489503373 797157941 343315579 843980002 420539725 193169974 430894011 640466376 725528388 954944211 632656309 638686977 939484160 253282074 224796178 760469388 378474804 898452777 328885365 617919466 321826765 183202567 849661303 686451734 759562972 831595588 221872159 258402423 305518272 276661293 333491083 248126590 520264041 210232001 952410450 244277576 737529970 513646202 791462218 191590908 149702636 966119009 774554390 857210116 675597722 450880713 488131870 473851177 507248999 420905338 659182518 986117173 804545154 511875357 577656937 248267814 626142683 348498203 199256800 877997447 319242054 672735240 365761337 624382172 650453566 175439725 825853323 944117039 772393290 247987922 563649144 835997519 697030952 865233568 945508934 980116520 149683954 644750037 679831351 564446965 335247542 125904270 161963310 634497216 753421693 795400299 111300715 236924656 284120406 579641411 512122369 521281528 455999378 696921369 304305419 437672986 866811455 996314178 869130144 324502036 356701882 859212632 773375274 884653945 265061117 879675906 255095504 835581176 535000366 454337533 567402629 581301946 623362990 636760525 328903429 830645130 232079491 453405678 393940233 677434815 669726353 817245005 161289396 668269692 952891740 231706982 706818911 248371888 603382699 313466942 566957714 144692723 581171275 411931822 558054934 905999792 675795100 856763214 920249620 320595874 552361701 549301802 425961056 571170971 993349208 917629578 388087282 981249482 220427273 194884750 223263953 622899045 988986420 295211592 556666985 630803578 540561699 818375678 883013759 223745089 732622244 515216692 680255752 650023330 517347928 297137033 741491335 301325171 686146140 560395450 187045603 618046555 283810478 933752240 881773078 921343330 508102289 601628530 694480183 647719405 724814384 687662162 995663323 556363259 156908374 564281667 434560069 477051907 767290981 661794873 751094182 880162922 384470419 937578487 782851404 996018453 496056199 958385477 742251605 608740734 880740223 946350064 164738722 726430775 525067343 834426644 478084051 540370687 137389776 603380733 906657350 886713798 290671251 188521943 990282720 535135025 171844093 132416891 996784420 226039157 663684176 578039695 853996369 188654652 288987057 337662527 877002747 697298032 545386626 167738897 580758937 122648125 699848985 162865227 654954429 552120915 850354425 987585930 367509181 610231043 565672808 185493210 689619707 892923250 869648210 935559290 579732007 258514627 467495686 190731141 723667436 259048756 410204480 549956483 346886359 234218224 237689438 928964475 968086780 421147982 366388378 262840344 318312761 528731999 559732406 471578348 912373943 884026624 692386909 768700582 363866281 432930772 845392239 864489177 704342816 959003840 577999233 120947903 795906998 685324007 291484718 169797642 284546282 828424151 366556384 171333355 404536879 355500961 297093224 409397767 622385448 736675081 124937432 733267852 929256711 397540691 878194035 145831103 652689595 349426505 484311047 224667188 266763807 443509987 418785846 255253263 879570692 913675758 581950231 927106248 638324326 716808005 256255264 222940667 954598834 986824654 255145260 891195745 469190301 811797045 712312932 247359920 767762902 227881687 893779456 785529263 403190438 675187433 736011077 150897388 245487506 636302623 161029123 323697783 437870932 185737756 435496595 782722987 841698475 725050120 349093849 362235089 526423180 453321903 671899866 483268895 481150505 529775568 154028526 221922271 238630366 848717491 971755667 357060072 712292915 703662032 398178389 965093772 423372848 482789461 227725221 694616293 575185051 958888207 570115485 178197194 514991273 790991580 418581162 862011821 534991969 865515155 963981452 975527185 779605278 176783783 301269565 549721632 917980997 834163727 658620393 484742840 563645993 475701933 316203203 960524804 250695087 253416799 388981303 678747390 279725566 216508411 574225543 128199776 122745046 578045934 413852068 739597368 713191728 904728584 554576966 766286188 706902167 259254327 523332401 990049797 630754831 621357120 695554379 463129936 249368610 781859340 196397871 446848210 686878989 332791665 939837751 175368786 547007072 219165424 450759830 946094507 774777400 469398455 567680891 213066833 214269606 488525858 139187871 464672359 998919315 491354258 978538464 438708804 277131981 265262508 537254148 189238033 965567956 629913873 407929104 329769995 316609766 282287685 835102457 124348226 434429419 188721152 389707498 341122753 138643091 815859663 923999551 740841634 129356904 140409044 995013938 312788314 645254195 201737050 166255748 649531264 831840566 843217855 810224286 616878022 484168993 271505158 725277234 913722674 626456114 530952350 868669232 199801932 434752422 475094396 662943414 608867080 358632960 366980513 114047618 741130038 576803642 790675949 143886569 826474604 210569037 290735780 600309374 604910693 376476710 701606716 988369864 334293517 222657682 919230178 347996391 298651072 871828000 502649142 488859028 261441733 970005508 163661487 170080397 507123866 891574360 726827370 629373393 774331691 168824872 903196469 451985163 919535359 150736906 455772066 753634039 551799052 983607830 231866590 235729698 577484699 149388678 935892721 240077918 940158311 262981154 311596459 377565464 630528719 124515784 161893978 267883298 492909694 810837418 777624570 495117356 544679368 610059872 136257083 304335154 850961691 985662674 913457342 576522588 442339965 799808941 625447822 780775894 867589835 973858935 144325959 953016596 758741739 565703646 251884451 804945839 190380572 675358687 322417636 365441178 899844605 166970426 738774715 348841798 241843377 679095029 405655066 804691119 355464338 816732913 706998029 343097662 764909082 165000667 994333362 890378424 615592981 369585354 766000696 616090137 650847871 823018775 399846999 648647779 565573626 742700655 802087229 590544067 762089113 503989221 472308904 318076742 171620262 791738856 942407657 579448148 234049395 565030000 817380249 692931372 738856438 646396297 438556623 702065168 529724031 215359636 522223643 478686810 650276699 191704391 802241368 792547593 272602374 565092656 576285525 754889486 575848354 762965776 411222484 259117593 135125802 474091041 959525191 489314222 960551563 587632509 668582682 525289779 932830102 819926941 437720805 657915587 697053816 131421412 974515332 265252984 618191624 102773608 976960642 195122162 911519900 289182635 239808138 144830602 595003295 330185979 532020576 545041043 401327142 168854185 842476234 844834781 929169851 898063324 209667103 412741523 505093538 785434359 246627194 234042670 860248723 725504118 564896097 734799752 684043903 182426946 666416191 777949220 546387279 176845060 224157644 122009090 332330336 390037152 975988934 522883990 534162907 219776118 291497962 835755341 795558568 658728642 318379148 853812245 113041550 784554587 737184080 661088819 453441893 665021183 847962668 721216477 783245864 749094668 551673958 722356171 514812319 936481200 232836067 655714740 178464263 238361876 186485290 496359332 820545535 602322882 909215793 697077535 888547568 809301082 904460603 350020879 321036667 324859204 551654515 482189402 254170169 578650645 512833498 621224889 730584267 903725612 851520046 825030080 717428843 795194659 321796564 153334010 753093441 577316246 905417541 175405545 530912000 926570783 614374255 193188998 812100713 976601969 864258764 227188799 587923734 757934106 690027841 912870141 252888086 589197143 160062024 878447218 772188494 221342207 760484840 149247070 769648181 850983959 543433421 328211403 814013914 402906816 731126828 675630655 379868749 822312024 534064267 503577339 863348526 933712701 889067411 817905934 322969182 983735669 786173372 865664235 158602702 858467553 788614885 119421778 600187423 843929687 436304847 397636931 209257790 664199881 812612023 386664480 213078194 727474246 540192918 741966153 164718665 699067988 374735086 552920570 335750957 503551889 857032339 538283879 122314236 128350865 140240906 112412819 382227377 900937837 118997579 188995370 710270615 281590233 125317229 764338048 613950845 994287494 310922310 512545990 566186539 149698844 949260600 662683706 917196295 230686513 761972272 283586317 934070690 384424887 201548557 743825806 604275708 597822887 978584418 609563494 387496199 334228328 813378478 352599303 919673111 804315558 509415275 284679234 562174083 806366697 792475243 617177899 244129293 125088664 850536497 647247556 193434612 278598620 636163764 861168010 756931858 801586412 973634352 124364219 655437113 949154912 761727129 514987959 875896439 181305215 103403243 672767070 348095830 409027931 723070380 593980542 411333701 689048525 447846581 888829802 212097550 303296330 935567109 574739757 113476203 274845532 281963153 382606992 403448878 275618511 829583662 295858114 339244902 722398280 417348175 533451959 385742295 590063870 764750465 875670533 905763137 370463631 423208121 311045422 219960023 841459284 654890424 542024931 558121878 534011613 265876083 259143367 128799857 891158748 100095557 675196389 202081928 182626733 519928306 123480934 288454932 446303066 486886168 277680805 116396939 429388838 237293754 921568481 939104009 486948191 289187144 733470254 540908849 964293812 824004032 862703689 666140143 235024012 902771058 366393840 586775764 571555113 478922527 441226341 143123291 327760621 796901082 211655910 215383038 114491937 973326528 870474720 324306681 721740955 502027336 664357284 769150539 531606834 621995124 890241125 738896108 527203046 478765249 418405123 292677670 211579868 434714640 908618000 236531667 186174461 612766090 907324031 856432844 106007199 353820192 584199971 912888918 843618379 644088017 492039921 896237965 501768395 412096152 355043846 595588975 736386997 570761748 145187580 449887037 927120045 692593661 388332627 232356938 809626295 399436732 232866783 833365605 394649557 948803302 941475566 600776791 877695471 864195627 894173863 931651880 302858764 775925902 781415710 245404446 328775395 526856160 311557123 506931356 679928775 806051482 652660765 806877574 413491595 159878018 123232841 942920745 125263111 294781979 235670238 743378248 643513661 817972195 157479104 755828618 796559736 282522596 460502246 142260289 672410092 141371479 157564657 493670195 174691950 109290006 528322451 937545419 219566292 585923781 841674636 260554839 507086274 646014733 526080395 907016069 372015952 149898625 885727848 753736765 826443023 839782014 711769822 649606433 341194705 969539562 849099441 722451430 985300467 993126643 238801275 541688612 761993219 409260499 600254840 410671071 539343010 904473954 405821256 304498337 893642813 190600640 192454139 505765889 819173138 566724385 451326851 609338192 428262694 755468233 315733326 376715590 690130211 541268516 921727502 439438437 796548271 107582507 610999361 180941100 222067868 387098316 410293608 583528846 740474417 613128047 826757112 594407465 753502899 249481576 192012484 812054630 976420064 726762107 903524044 110119690 432888754 167240900 464412279 584124466 841572859 583600531 106362941 699818443 587499653 999740166 798041026 741827776 845064014 117142405 792866762 825738916 649675201 420508923 542915082 454336532 953500438 161234888 952196075 690627676 299973317 625149236 988566700 361539302 618726076 274228647 383530277 922696327 621081066 821035137 748541810 920710208 570312743 416836755 668505967 478923981 395034397 116557707 223584724 877144646 338051372 888797227 560537703 706026747 322580570 639819357 811184864 260784575 969460368 670501276 248924882 613988840 162354702 135596877 491384417 710936417 662160651 371854596 456118852 659810327 280016815 837481455 280106163 672270107 796514834 848607173 855945425 502601364 794838723 807408252 536085900 821008362 978640624 654392518 933228331 616608958 729002451 231463789 498872637 989308783 526469957 536483397 436454594 567952613 984384211 212088525 777431568 480674808 625984609 266191291 429654963 675325582 377598558 213033537 903066666 397723345 851319009 602444280 501797099 404430434 353869781 468671351 995291096 454798063 146767829 428505854 762605898 958623538 269417742 713049972 525823777 390288219 493780740 605403561 113698931 857566978 897328478 646515191 390147968 380988838 756654279 360374652 825729745 673529293 811395219 749701305 502489083 785661103 305487570 901847030 925353582 308370187 823524515 230795567 468037881 753545630 597668737 423598092 711008594 968828942 765857360 362740038 519227720 307943384 279982601 852612676 391542978 609433987 815376287 210802397 330112942 274687920 380584854 377060715 828399133 987234109 958760460 842281417 221944823 506289655 788611174 637964375 443332305 180237551 611460912 193265736 564875471 545309246 627851635 180586678 670949783 961664287 696966642 304315028 356743834 407155922 903752077 365888407 562694594 302621558 840145979 127999725 423077465 982385587 632728321 513548480 458334404 991378307 273223549 872773717 440498091 285335579 349078219 310743142 771337483 597513170 410278109 926826728 225862746 326607541 405788349 354626378 377741067 309689012 886067042 495845122 508676597 827704619 685754239 404869887 705159922 496041607 172001972 457939275 108252108 560816035 623708704 696551384 310892552 641969330 573389505 644906961 376211518 264951194 175935798 752420271 511424496 669421372 598430830 646811018 356363145 356295888 262324416 479708985 738335712 852414957 633838850 828649744 740014069 478610666 223697471 999526059 793980487 983045483 650616860 114866779 574940372 749150590 143962686 354795959 476386927 990509692 483144436 792927153 541001631 267903748 725908316 892731154 105136103 568331015 669635723 852215423 556756653 553147894 295380808 670744731 890870106 941345511 457158868 410208846 781696262 986515223 383786460 567704698 264374980 553582173 672046867 824760545 332275177 266242523 756864128 814082413 376156767 600431995 811970168 610264840 619330345 877087175 341428290 126593196 380733102 806819272 873321236 791618290 987982056 385901550 974735992 492091644 628402417 744600711 379143776 202658450 885358382 437319913 914558740 606190368 221198164 414390507 966523762 673607706 938441820 638015241 572219536 186129100 179429141 312300815 304111937 883935888 911093648 684585713 566763831 571903765 643837183 533117274 546411639 338310909 928413326 466534251 665655941 877013272 148837526 309432202 715659865 187849289 365506009 666826903 772463581 898260078 217530180 620135380 223317542 273685519 435534894 635417667 999857148 801339240 523841466 701335117 271220958 554230746 909110539 184005605 105208040 846186087 860339443 197936934 834372297 968657807 461533559 313942839 302753705 819093392 662741834 592738107 264640176 366683746 274838070 739187753 505053391 859751633 419944143 598183769 237506367 254377483 598562680 411052120 815811501 962621710 952084883 899970778 100811548 666491549 883099110 188516738 785982472 382124690 317950052 615136524 492348547 199621514 617641175 313945888 316651278 737060175 986284381 915890254 303385881 640098347 432426961 125898686 499071118 275612993 664686426 568572478 117740263 999460934 434249387 384424927 148386963 784814491 832399340 200749446 953225848 705288435 902908753 392916025 665617846 183254740 334719206 839815463 148473490 277914510 733605793 386793896 248172899 637107709 895970045 156090445 944932654 337493882 306451903 701725254 326035011 901501968 815533856 919560135 845077326 905349226 677334763 572815357 128517939 352811934 588282905 645508842 602288045 750026790 686441552 285533274 449114232 963557953 446476570 986241057 203105513 716797758 382230826 817701553 307580853 694020843 892864319 875585253 378467726 132121139 703220473 760129115 466265542 659625006 997465484 225217249 649725451 317553608 637425237 321094382 246739217 953954650 501134201 751955247 266771823 525047431 319431176 513747889 656819045 131069994 849954447 780053512 615720232 291091079 404468126 538729823 366260256 682097903 566288852 628946128 793022838 141692456 347524269 712646023 380082604 572811341 455345506 338830849 599725387 668068339 432523341 589477930 277556905 824888795 602731909 943941209 648300072 200977113 725019635 439664591 742133904 340995128 815363333 950580234 326656528 707998098 322856730 908542239 327222832 127559185 740193584 559333437 818340177 623187725 367453458 825646004 167887121 736767632 756573056 455860986 531572361 404045329 707960792 629565244 850790671 863098894 767085551 480316223 493457476 952516446 104492726 728936928 488561444 762314134 672531274 517166737 568822640 731586631 181524728 250472500 297010262 839918564 986829975 768546756 464866018 832378547 332113090 538739105 112265060 192180205 230737356 676323385 347761990 848441444 644692309 541070155 156540075 426471900 136564566 104232201 423204203 632348666 925086269 167284394 319724454 713423139 444435983 748917007 579349349 370712605 225125282 390439705 234066277 463566252 401839493 712562669 813741196 751208180 892246329 890644431 191948933 417028475 466508567 384423472 113385508 922081048 465508252 238897091 217352542 374200541 906815027 599912217 735222723 125796206 360694121 999293626 464969243 912440852 538349470 196767680 104361999 946139807 814778017 148474393 786236768 735506521 581872162 912196145 879025908 498468500 602403758 398437289 576626583 187895533 502068920 800846172 631543990 818675200 905721798 707217325 404358173 531567314 802112727 515966701 347703397 980116696 511073219 921296502 399276253 575717082 951130128 907485141 363238969 199697699 499694139 112311621 553414281 272241478 348899057 627781253 340230063 195961720 448846157 376107329 336695703 127336593 759510721 615471539 208921596 476485052 722036603 367271217 635050148 903683433 455596599 283003590 704068978 687122210 384814118 233368110 986354916 694029745 654132102 193346337 178718777 844823144 408680519 294037451 586256359 610032969 569295094 699302567 350658185 191897797 575920799 319187795 972099027 576734898 315962368 933905616 364948864 511876813 670644369 719477689 208447313 129758517 275382107 667589664 157748097 735360632 862360514 381428868 485182032 668323191 989158189 285294486 667425169 943521116 719387124 923840293 437284721 932873763 263402794 655102281 145601935 399237579 329888076 271362556 441483443 420884298 825642753 398551254 565178851 350651420 248666444 222826401 798944943 395359639 631684103 252254047 564556163 913968798 747536338 794493759 881551311 887107775 637921678 311482752 630815622 618501489 244052155 796941374 467668167 938738714 435129379 329225755 884711428 805095151 734144982 619609673 181795497 726719270 188510099 720345619 853335772 293796609 383043041 476899508 220570507 243243364 222625447 817744441 814387241 878472084 595308892 755069350 982168649 667580287 961813733 919884293 131057191 169719816 125913882 891406558 910388025 945845723 995084143 258062364 162942262 155577920 444220226 121649824 166434204 940356268 424743788 383252985 151740374 504625268 962735143 812154972 981675832 685587369 440780139 389703022 909976721 582555617 756005041 979840675 714004568 788832218 884085674 749425546 391591546 929530295 566320514 369710381 264954791 602299922 153267697 428336183 416872157 496632404 569217309 193679482 842699187 670391884 977519104 237220474 435621099 464013203 908585953 537068752 484870719 494719079 795544292 296862202 327686389 626011216 408034997 444701813 730832593 927964911 943988249 236295596 883901956 338892822 401836917 741914307 659470508 808278482 612040528 159374945 201522088 166572043 154672830 735164310 651960010 423349138 923444243 100293162 201719185 129718921 767916157 709767195 212737087 821106226 601057277 307305702 536977658 910945913 220382616 934420794 886592424 175068342 925872316 154910641 915258391 371127153 961622805 236585610 946071641 258947535 717724842 330620496 704460145 523404253 142736708 387855984 398126303 836576492 756029953 379909341 176348890 577626336 268561013 109606526 448619662 405840339 865200478 378877090 431726615 475356998 948099367 773528609 777606165 824768145 571065593 429605458 243025739 727147716 262669439 716680416 580844095 738030126 797387604 869656691 822972069 881172720 682194887 125706038 604248612 481497036 550383276 682004557 801478405 938556031 942836145 442177469 521352200 550533785 641463743 749697586 984576813 673777857 980799571 180191104 683744389 624908812 546508778 217860402 794982841 502233964 297822964 935813342 775074780 201810524 267381573 343665157 484400377 669758896 652594860 123598698 780961079 623295067 224168660 225694769 772160600 670153112 393640890 520501263 345353306 493371733 753621997 115738988 645303551 831432742 513816550 637808551 246697063 146390494 805479482 363457097 349881641 481991424 631846830 888920603 358865948 198215119 974756780 136661552 990740970 749990396 230453908 258056373 720688953 598929668 964695067 329871875 821510879 733233909 174609622 537936672 114199836 293004259 758869667 575975048 432396481 252324337 479222061 424926552 856506045 849328024 551921875 960300829 544569464 319259519 977002025 692213308 608425769 572948422 146988446 450567843 821129604 918387465 335139474 253186634 670774572 117531848 370948799 802750757 491088691 109040259 803887164 852829322 800488480 224280256 201114151 570795786 771336152 169558391 674719920 825894728 597262067 911002010 188827015 674653754 365439302 752159683 691387697 646283656 922779942 778535972 686370583 286001372 159439019 522620777 496934123 290627400 803247561 652413189 603089639 606754577 717776741 753454529 976100369 914123474 719839648 952523003 676864772 255875227 449745098 389109129 373332043 503040135 873172679 860619063 551917347 239502943 167196899 522412539 787194811 498959259 989467212 992427118 216712047 322767417 995562854 482181760 583233987 484963933 472026964 847221919 734997986 646060977 395299643 754964454 372580734 280514093 618038617 378864938 832717545 340136818 708369158 637389361 546909963 695359187 703483249 741765617 421972339 223290532 197583782 851222990 348351876 569250738 712026958 485327358 100615487 948320316 504165579 954616369 567339954 219286456 692030631 720771494 670021928 240826556 360654243 401321270 680746372 879807689 794705692 688157126 802150951 463550806 953589205 222868551 948279642 289488508 498944048 784397956 214321676 718145985 630516231 940498421 636024090 342403146 793924187 848640313 632992312 665420415 759961478 122069510 125562923 529470013 350257241 970442161 444300367 451586051 404098625 650224989 886471978 595877268 532699860 667139631 348753980 956056220 867807068 846036276 698321469 475757499 106332110 439754821 122192876 912446390 408660955 137088977 645517162 441138791 146632520 524816582 613451519 911632851 408677357 392021557 185157932 314595974 742633169 579764051 774707188 908110375 953304237 997983380 206290735 823716711 754362900 626838043 727082376 754794187 782798661 808315516 476655967 430427173 840350173 628663788 820199538 691868670 683884964 715831159 332633523 558692142 638679627 286325357 225065936 971290973 502112955 138887783 409363140 838231381 644383948 942398472 945075408 514778025 289480675 523409688 134021020 106894359 586501393 654006591 930093664 856517314 683864638 270075017 130379146 637239985 684334050 331985216 169982819 497954813 753695468 238727956 538002215 522642257 310342310 424539065 759088995 363973143 342737552 943115191 595733099 459430176 580630199 907228151 948005568 421318816 445522875 596815342 880279202 996016081 562850425 733552095 847725201 769702560 177801409 408012938 655885356 744046241 339627391 679529705 581913495 726509053 904721610 289145258 684441403 653183287 485085293 479857782 950283319 433580810 928089568 521513978 543325098 964236236 256425365 693475669 291946954 446414762 601179331 274683654 923035984 884599467 386301084 855408938 483307231 162277306 947450947 127425932 550241990 211518317 104955661 488174097 134351660 806643342 959668671 430642582 140347380 159907682 474917125 858135105 946627102 831810034 884858855 483453331 134409784 984662960 387816199 904394899 335695091 918973788 120357884 772984673 671566526 931581705 982140143 221039168 974534292 934688795 409534318 356401153 898394443 409312502 399013328 523714038 699194609 608890543 368095032 969409519 102784680 654333421 982589276 853015346 369456843 700994291 780335531 211170587 185356816 563147069 637738939 798951787 476445186 663747133 677315934 573116857 109973218 282023592 894780281 918209860 322698195 222263758 311087184 952648366 339289551 347307414 635254038 560635340 971229386 941348883 568015620 213123889 541847308 648588571 286372309 455048496 663769125 211455892 747252583 356677583 792290805 522681009 138117437 220685976 531208025 370897959 366424985 987057872 406125412 974868674 928179833 602956408 335691635 410163543 394703727 787277124 288381563 180351355 608799944 575365343 272069934 262378960 832210208 470241168 729492124 961004458 727883090 146863030 200625864 145551356 276583759 915457724 503310356 875081230 194737365 345707948 754333437 440531361 569071427 407497577 904406213 653232449 236814070 713617988 533657017 123300645 587938584 522912539 893241271 127811294 246794570 558749063 412360924 828699304 229377971 906851795 816474016 853958824 865938471 614182230 983641612 522579718 896266070 450115261 842810620 440344603 795448773 677057917 386729077 630929577 634327898 316005008 853258513 754308861 352099891 133773086 245869956 842496387 514294046 374587103 177018537 425238620 734847582 526022689 824808083 325936023 765385650 559965648 642151512 253364566 957348938 318587958 480481991 149877132 511292912 972657882 410068435 433960148 521974358 415211488 625335010 989563264 341647075 753741089 878948657 778948941 545449040 308553143 121770218 461823510 203201720 721982344 840969833 456361223 819715583 729217671 872125301 456253800 477849193 856385887 732001677 883857875 594471613 589886048 896777060 848927745 125452752 692483804 760548690 490948757 476341504 110552866 132008755 790435567 589220775 415253719 878188279 900971902 726075933 578584397 356140116 888463183 698632049 894381137 281133195 386475145 759807362 207467951 689404137 563468569 129610373 575971110 974851791 663051362 191862337 340755765 356843777 787430527 643438777 783216841 878877039 929912734 933024278 187006744 505377553 938727297 893903554 388545350 510925733 917339181 846213911 295475798 399032375 588080808 578415146 459225710 528085575 540601393 802252258 595583896 716021917 839661651 742100197 402706298 773099018 380536679 866844859 818781470 618309914 765874709 636778889 524081397 757868058 236741789 962997784 346041157 483488150 907791595 613697705 431491749 523613084 486558715 178065996 804608038 294844102 975343843 913249472 244299767 717120868 796920695 295798762 685151183 469033212 320445577 168712117 190243168 150964062 916198132 512966139 171501223 213677925 960497756 583928828 419819132 748612620 534521017 413421390 726354057 978429245 227875256 285660337 220772431 454717971 333115717 399993378 658720111 934884012 401936968 867371731 206881896 971777103 684334909 880325981 778471168 557701623 813709913 551749601 302179460 860142690 823422269 993385491 746110510 506036256 384248369 691634030 137856976 347193783 286165166 262338224 972996604 673599172 448725836 232087684 759311406 973537624 268401142 650957646 939380619 502304814 710648386 776593312 480364994 919004084 839093432 477233718 364408493 492092785 863443644 431477185 328752107 369031614 655198728 313504150 372363491 489535813 403755190 610585432 125469279 978999547 651983004 834789923 666414598 643579620 193011951 954230873 269398921 710148034 382798851 595852208 859782679 322292767 746647171 942734923 159333534 945149353 882151715 220041342 833172862 389120123 334711145 817816780 459214132 771134541 289592352 907043513 665730044 776123254 206148236 693212856 206235262 414432439 554704948 372586814 774572289 131998707 500700910 814896081 867558270 984878782 147209475 393840099 732335336 824475877 363897506 991182795 676728643 744076598 285136852 798657755 535865954 191929511 405769462 971857494 157916750 539785323 363154923 679204693 356793945 983197523 183453670 210166535 811573056 214063669 241254404 759761857 514091415 754782059 573616153 485563878 178624098 284382322 489213731 988499534 443540410 265572212 516654607 759841717 281614461 130135427 304689915 952373615 821771719 164399711 134016512 551185831 694423744 917149401 697599844 288440277 688274145 723097653 847087299 520077273 126044346 317277810 621885635 813674220 581517943 160163232 577929196 508509146 774554525 319825157 689214176 728112824 566152050 325547174 284108422 241565675 650469120 504509257 614682474 930431997 826198191 863985468 576447886 904215460 448210422 390657186 965787805 466029737 930051053 965146871 884708110 140294704 506445308 709459144 103238734 242560820 212083426 192022524 291793560 103209855 559416261 760694600 130232419 689937826 809616273 596512750 919240213 224740035 280775460 479775028 199471538 559031340 814325008 666386764 682347976 879839546 793134224 513825774 825335538 176517787 354056122 805358964 895291502 532948132 769750604 457931579 615832690 489067343 366780434 785153797 502831431 719127812 139218707 953831349 655269109 284949838 513302242 326933673 727346147 288317453 619787820 762928610 997007228 137197133 368695835 374546097 625713566 857438382 600132820 981866601 412519541 611677363 555156580 633165692 578933592 809810687 907997335 693893715 353355625 902072175 271818798 289067841 722816826 124741101 727478807 375088889 662844411 308102317 825935502 220287321 380767978 745576033 169013894 288530037 656409850 176997295 378809151 550628638 297218721 448744495 476749745 165327084 491808681 393210499 984957607 825183631 812158681 805163397 697086110 172419241 593124304 416272112 956754361 415210311 666134482 472668455 334360245 853371351 974872310 691915966 501206934 793919116 618750046 757761552 810603841 250853440 870186434 241676386 340954274 219161068 595927812 154216370 902783263 434545477 136947988 374498530 935080424 452552654 785871943 145358327 730692761 408172406 128861763 461236108 844820693 889059980 660632872 926308336 366479362 433560880 955363776 627269428 713260682 388593554 722257675 301429768 568815950 282076753 942322119 228133506 754037427 663433378 996823101 775417879 829101436 272712778 239780693 929307913 219013373 872424590 144612212 124437163 144993264 294797342 372129047 325067125 399920705 647745821 384618865 412242861 979989668 543571679 671788462 251867936 668127470 478125593 196735198 881362412 849602520 594092794 166616786 852728568 153166817 717746562 348753024 769014310 653624729 330972728 110736625 235310950 418958484 851225545 246536863 727197418 490082613 598371017 159490405 842975648 871215095 388215621 677261854 683208920 239677191 852217249 558346015 388132985 518486286 541701875 111346002 635516135 969124761 319845998 652513935 859749464 668248891 832792442 335724523 721545155 479807338 475986449 934949480 940759419 565404355 883209472 995740527 606290912 617192582 879070751 772972798 496519900 981201346 966853913 608162348 792633776 493001559 719264934 576502044 367626175 622016106 310365077 225445533 745183992 644114641 132734469 172038494 629627367 943201525 380344462 605873298 710830538 624816902 235316422 157996487 409223521 791660458 696721006 639846622 913875496 631082829 375010642 791422404 508037790 667647154 705764899 676587615 976633954 538054199 952477442 190325702 527950980 122785343 305586085 745297149 279479823 978504114 121596280 917024515 197918210 605441413 996505824 163778107 341962220 770605442 457811066 967583495 833084422 837490501 153344427 492610048 313216266 959406022 117252359 166772811 964324435 973947624 976466536 693760720 621517288 310419354 821612706 208374719 234798906 765035424 734972364 961813104 100915915 487159186 819827547 103036797 461616623 437802042 430214764 683130355 957557227 174843583 211693481 927378151 887711874 950941958 888292396 970667325 611440349 901268788 855904087 752893012 221478927 395642505 993076182 833248980 336165280 455061929 498089080 957929923 949758077 130002100 246763975 637816057 536153999 322044577 911013866 177751389 526754275 720103012 732612790 643616524 462857705 790592690 436781969 212574885 494081278 267918951 118794605 145986130 989412216 175640280 488749538 996227482 847609627 389523816 714134661 619909727 957042300 244110995 878224899 704748572 936158198 148174495 602656603 906344106 595201136 815262910 648709209 750866490 329085702 300718602 244331729 656030863 951908398 221807229 346086961 504148035 215590673 723350973 648531325 843080014 377881491 820689106 968695973 441758824 342806484 564621736 143202308 175173994 518676582 568152228 257029565 809069414 313260916 841121691 719854470 951255573 770455606 865783414 586127841 199351591 147560759 583790888 749560946 801436021 837339820 608881013 128053853 654308299 161487843 906328453 237240279 343785865 546270872 686383206 316479359 836467785 110086363 715372705 466360888 640118176 850604867 687760480 427005801 550049325 932634763 991489254 929997792 692337271 442706032 863453350 369135648 817139817 256032425 649744976 731935580 170647616 338085922 631444788 237268787 153214636 417614213 325905035 532215095 863522066 932703831 199700885 789053273 630989418 173087174 351763920 870185950 851016024 338791551 513901077 218291165 446090507 462990661 382547633 460374296 136538757 519335869 650114283 469494864 644437547 366997559 628507058 234839025 362307483 161971531 926486417 421515633 147512325 254237934 191468765 925568571 249131898 287426098 871602590 121287760 422231708 188100584 813473666 282003270 825557329 954869920 240910942 817940536 324643574 801059594 648784083 138490461 976177886 303469547 280466481 580133593 947962405 602986657 119193931 578132572 797132638 868571248 840372490 546230830 400909090 634289256 852931920 241539816 835737088 256336432 622706501 123074587 757786252 232296136 523699453 708817770 615514565 392325697 830730049 977493696 208785683 927334929 154609661 957458674 174300945 925664355 921168666 498368224 308089851 429512953 221168014 213774574 514508621 926229069 720979229 309117266 433193388 235089176 548905088 449566202 493428403 336052904 784401872 446217078 490513652 470010691 343210622 579471304 502300755 782918347 628029897 733460375 937422767 952251100 727475348 576361473 268369815 539323191 674472598 411179594 479686576 279965238 980414943 550714151 767710702 411348814 610801507 188659598 415690102 633000668 527205069 187645189 235272011 552760361 440825313 848584594 300806846 996781232 707875798 736653196 822094890 968165642 605762688 583489021 371272264 353275002 439333557 951790173 686544595 539666009 514175813 663265214 990048737 896998365 235347308 447740163 404950196 223151227 364696179 114923654 705695012 716993264 604197429 171099806 334906893 952954569 837007684 524570857 818979400 521934987 513360631 583364497 397077644 629338559 465917910 515015901 784349007 425014318 423453569 425488654 349092560 164901508 865441723 824462795 985839786 510651782 409302355 917418356 440257854 284965242 830548001 259957438 170924178 704316263 709741710 118318156 528415418 322201939 337051574 419226116 384381809 895944723 702256112 854770250 716742317 343820297 571076454 817012237 138172302 503865803 907035859 893121796 828485275 333051221 324828497 891928363 753537229 212968158 339668210 358098941 925190999 380595832 998034942 980251012 140249097 597079505 728304515 426944964 214444952 125905990 286158091 757612395 392227104 141067760 698000334 518122191 246245197 786384819 487429718 842382365 671350458 550697554 325749334 479853007 940293237 970285598 817700150 755281595 400020015 761724348 998299633 540754763 494104470 968856664 508010450 837405811 625114231 487833723 151691939 639156517 232394793 384252590 956083897 377863945 763875642 184559700 150542576 283769615 110471018 249977502 610574779 169411218 283027560 609623189 869864398 343238545 702556759 633753033 529047057 414231467 682731323 380662448 141977636 227891600 628546868 854440670 117469964 401059095 716669604 231276879 368211550 985278274 674604043 993948651 117161351 966777759 108830885 499728257 321794713 238454304 588011440 717047342 291057689 799740848 659697813 782896887 343358334 369384779 128581969 497276603 495022945 553437596 886058959 359291125 221180438 936702690 102504064 185353734 274906774 826492450 499500595 785135534 533956262 112628288 410281809 703616263 987308368 683534832 618286388 970545797 948394273 253145416 118115839 828475987 147725549 192653508 349412617 811020962 514354845 568432115 402612382 800172358 161306639 819048499 210311256 533811561 391761302 140503222 763849794 264118991 885627930 957628289 800711651 579116666 126011123 515992920 788732733 590164957 478059280 977537533 925542181 843217481 836395541 639641230 271784452 540538050 787510861 154983617 314861526 806553511 749792121 218384321 515264247 778689324 857163234 289256457 429169205 388021848 742747261 445503091 861359692 876232483 546399543 425495429 761770381 497253275 516769051 186573655 189276458 309748524 511377594 418266638 337535232 996552740 513240969 469672002 784331599 181387046 497450202 836619067 116541674 781511215 146834617 686204887 527930144 703936659 489483701 631530672 846088409 428007665 660721731 965076991 451774317 877306984 413894045 885351493 340296041 334135752 832996045 368075252 559774179 533049879 585091461 372408137 417764355 522626613 926659260 257391493 603172011 792191338 804380855 781254578 724374501 397477668 576503474 730935790 434203605 382778004 962966159 841351853 449473019 337402897 811879957 192707014 256660047 458757476 637756099 404733657 745472119 591153052 561867707 425810833 413045041 804401947 848619032 515957119 908104649 633582736 105975957 394026845 540586952 869248181 534008713 387390290 972912496 815038377 944558305 377121791 170402809 561156413 933068091 973079269 716273437 931500583 769980118 204869621 568269539 770999653 146525662 719509334 450725948 295494255 678313678 297729888 879288264 340640999 730420454 140338272 815240590 995797742 409481893 528468743 677319233 269441821 888080712 983899257 579612646 466774440 159088608 252431925 528946313 866175596 160313504 514363199 466434013 507830223 931726368 353382830 552145897 283276960 643850928 669222151 307009614 780565379 886732000 992993387 874680972 676232487 833504656 655646909 425491542 499454437 274054338 648363368 512961651 568281392 689457684 346081054 770950006 183911687 584084658 455225371 128543012 518287705 131048049 298361041 482414595 689853915 416425046 672599658 447224191 304204080 747914446 134214354 206255551 808821086 925348722 288745046 631668623 764878892 430684248 677741700 524572447 551995648 384657131 659178030 848694932 821167692 184899221 109212755 768494026 621919638 672526179 107343120 666726480 344658227 865626072 663500530 497664635 383302600 581018325 397268266 174571397 121014242 929110289 398414527 738471922 482028353 632845892 489904679 950087045 500208248 258126077 591950261 554681854 261315617 691387899 387424807 917096447 508611151 333152717 778744108 740634566 906565240 771106053 558105367 855165363 949989032 751985665 735427535 950370123 336971177 328980104 779064577 479373609 579015313 513038663 705864588 916039609 412568535 613185725 259688524 514732409 968157972 474229475 327818277 188142510 510939746 383284659 863933167 328823466 203733881 616224254 874493651 651051583 168097349 787444895 614971496 392355988 766215292 646048503 298736056 644663806 632382351 660650685 723857022 154424695 723591621 842620377 960360491 254069785 981373086 124270789 153413317 157274921 293652654 141908838 460322244 949188371 286653640 619645443 537964738 738099730 579880993 496921995 615330946 944943864 990332329 100196858 304144446 889216750 952044888 454142076 858058952 491274850 437969645 601914098 130271355 854572293 286970949 240380891 963328292 659821346 465411154 641243652 987000110 873479397 390610209 759553818 168794230 321354244 482704831 814349203 762387301 553720846 743996748 714580054 536907105 481574868 152248912 503056901 714050638 154223804 678710005 350077042 789595039 996657116 629763228 536680127 737846544 912042403 660871510 854264108 321252071 183588448 884357327 397098167 699871518 675402932 597451173 268126037 210593395 710350203 309404051 411743582 583030278 835562843 666367565 298033737 866299036 936048478 554188457 693156359 420643315 496873782 165561235 924618691 940604762 408222635 986660321 361550918 478796346 135814682 803050362 531561224 193587984 711626140 687468149 123093767 514116360 547774085 124727179 619349097 345904854 248696713 821835471 859697852 917623450 434303918 796899199 642315649 861871653 871390273 317564123 284425066 745953167 251601249 774305197 259924942 428986187 823295957 459958213 788832977 866022602 685859661 318436415 808162169 379711948 430556628 307937607 801011569 719518592 911835353 920100275 875394903 812236922 632709265 892955253 494829859 633507650 917680350 528985637 415871992 108402357 437568766 523127389 728560870 402895758 932017396 427975977 511591753 828398776 690909968 131771688 750804629 127877337 860070920 653712077 956872021 461352094 217639879 735024921 459000507 964497587 906481634 271403242 509270769 465044335 938678819 100039261 988394570 370065984 772324260 141398712 367903816 533359102 879254537 193201422 594642687 694810061 194739770 285391327 680713423 781834443 643268759 344276942 128340460 825646067 495666702 954008940 854153925 750001018 441611416 241345121 321078932 271305892 826589756 807673613 492538971 558083933 499813331 709049598 273396705 750460928 627265011 866740820 386636634 389204932 159655602 571034990 100237495 839309324 655270656 622894291 571967020 826276764 697892856 774806522 622604836 918478716 502242205 338084828 407588447 816627786 674985102 939449830 414248721 780948892 699052175 787842089 757620880 247983195 963505602 961054876 225358848 967634030 812329324 728750712 793941238 332446233 330293075 246850312 863848992 919870191 908012329 629389121 869126007 476802010 633650216 639480804 259615866 380146690 822460619 558150837 193900132 778902966 592235917 292440315 763740140 558245095 256030690 321171158 968517031 612579393 298121645 484514815 182821978 991037732 878610811 573149571 299773156 623036262 402131765 888349778 938679617 827813569 179752073 267503185 433056925 119041263 273596357 412915717 951147275 493820657 607367942 953714984 499935596 632911486 338665099 551996831 840836516 405346982 878793040 788517459 621893027 299302613 818116062 111170537 856031634 396072716 376175207 207978661 350573880 984395617 478502859 835741827 907064386 743363758 205109302 281065986 591228095 518517047 203545219 689170233 203499341 877313635 231340753 930813851 344865724 334618720 575501314 466613986 457293381 889309813 391923171 981321832 308837255 572508602 176027058 172028475 543608300 580436254 475355632 921724959 986464834 820668410 679737582 964821600 242428315 617209379 921484794 155445339 952705778 958050417 242565675 331345563 702084426 790301873 836379047 408069009 162627992 872571250 514639897 881646605 932190912 313726786 274583905 196183614 726837938 989879338 186865587 650857314 688052479 607554613 111883880 779090660 725326452 353857394 692390566 616122713 465736781 444905785 511557043 832436783 600794221 835829619 823568923 893374056 270175591 681278172 140119935 637006058 614412645 901690888 306383385 436753451 511167205 411418289 293885812 962582723 433753615 648553317 373236597 834428629 895169591 153576544 469027079 612331250 797483640 298440774 389567034 838970141 381563163 262807875 427324692 444610489 271977144 971894698 340121344 231213450 227126022 821084002 300233888 340800147 618777082 973812414 624956732 195690443 333243300 740504363 878543227 188229922 577642845 877350493 254803980 586970384 797362266 768935681 942123583 175560782 936020109 596605979 600725895 151277137 252292354 449636902 406990437 378249574 189268341 245642096 544507715 261111918 461112717 858026877 528673702 861659919 708323349 596613708 893854484 920591688 569461050 536383390 738248063 529428263 709647292 435706819 860837892 386035685 103600903 385531244 993178404 853942590 319949867 899800540 859924987 262641557 747008342 621210730 726544691 214730560 280311766 537987114 779795336 825812717 657087585 962303615 910327470 222081549 488905702 304065753 940334026 269565590 541237784 371749880 666518513 190680081 348324150 909729334 854980718 547732249 763541690 380945467 875863671 472251295 489345700 433435875 187967784 938826084 793987492 873474869 362392759 339482304 800217830 736394069 984509333 396633708 218368333 707007492 276180152 800150749 943980173 434390539 164954058 783696335 903993789 746179798 445601472 534207034 384365179 243704650 780745162 876963052 271753883 254979159 316103325 499380214 123811675 109083325 453091745 781838363 866017644 889675830 947145486 533865095 785341341 541261404 203740242 100136573 877113755 809519646 994425324 879905663 587576858 897379716 530570578 356444587 861577330 386858907 845491088 434988960 471295219 996995432 648673567 776731950 987646520 691214099 884745644 246488545 826966482 180215579 185312109 605579721 672050005 278708857 109460569 472063312 378118647 428411992 327191534 460118607 901642204 871805666 949862010 420126264 589982877 463997305 102405335 290380668 534067770 102867083 857924377 644917474 944563131 710051607 919442648 830958262 900537096 114520833 954087459 749000256 226249330 963365057 832005492 988106727 999878889 993559259 489499479 105554134 822587151 156204476 471947673 578161824 861163626 211669516 982301660 321275278 878009898 189130208 475823581 552590198 238451528 545994390 775995162 706747436 520726331 128356081 886716340 884312373 988736880 898364346 512809200 142242755 355823899 369804865 884319943 738317554 757017627 658758985 615899099 925220127 639344253 990793762 471297627 820991186 972533974 984920152 782964474 716796094 913005023 278682400 688063008 826823443 464911230 279397279 646002340 839207103 342907834 519211932 470764839 846363701 910608862 871159034 649663509 712523294 282373502 774379239 396703851 595885611 999006419 316369201 477136809 465499894 238820019 808658536 969569192 367651491 820518579 205734287 106198300 837021832 432205715 916631913 751493098 654529080 421923297 229829151 454374716 936954537 414106683 618950297 442781677 948530963 850833128 581688697 435038051 311826744 707409636 675900853 574534243 825110295 753288759 392218631 317906741 480495726 555525566 509795496 290372776 932166616 368491889 531593208 559639701 753078534 905794127 711168469 852524130 645117851 517130919 866434033 760214165 272786738 527906266 307876513 975863413 149055857 883923586 124489283 461627947 441465943 479072091 638816866 434356241 495822858 749420645 616650521 409182811 825615735 716857066 144307349 189173206 541361543 383284650 294536683 150058738 228827456 913929873 704274651 622850001 639128009 655944708 132020577 975186903 845268112 901812180 757029119 563091433 811187234 185291811 502137518 894976607 736233814 261486729 807862959 614019881 806330339 255766932 517925386 479197186 654638054 138462876 632907936 156834527 679132347 556774791 991858715 232809484 893484609 336755131 888869851 603854510 589395793 830202893 170281468 561187086 596763960 109861902 301224622 776298876 131838418 918347927 873895847 177394668 406866823 540806650 958691738 133645806 523610872 802300162 335180743 917629219 758713628 896977192 772653163 408246495 331040108 741248913 996127549 708450785 292737323 901957398 738871665 340362698 833560053 201224953 305537779 191676647 838659925 445432679 220740699 201628240 529110570 868072961 238580784 330352451 723470874 180574908 519837668 631751356 953929684 147942051 391730457 868500943 825823767 468026515 846931816 373803111 694831833 715084990 560530660 688120615 904003152 422069814 427542407 983030608 885647544 415636215 792466891 270205954 217067542 577911672 302294692 119155376 975156990 462622458 818786220 880907415 897143362 683574375 544678869 461894109 734985500 519286173 721543210 351143013 530935746 540050714 566874349 914816677 128864522 602666342 249851327 199019711 703093445 164919274 433113190 902200027 838047573 369016879 750103581 623573918 128327663 927847454 281568200 165988321 179876319 232411787 595004073 648649076 234305880 183245131 767151115 496600868 634444608 995315770 270459905 694876401 431138213 237560764 945289009 754531761 658795944 470709473 271049215 854469228 947651987 786620282 226485295 388386886 277157767 551573462 835905762 628512713 742453496 783009085 233278768 736471017 137295597 366321964 997158494 624354925 245867508 247420025 851577936 862792977 251326956 823717400 346355780 296033020 106572767 371014488 989223438 457861404 905052134 769035111 312301516 238060980 937206473 219498860 877679982 981683027 156642370 558706234 142248418 512158785 729901992 817629435 728076368 124702421 325187299 885855653 197639130 541110978 995322249 332512251 488718356 928239495 398339019 424903865 728422382 155391934 116410767 176374986 979759231 111248271 620163318 427721776 985649803 171436909 364509524 879097143 227239169 312855661 851482944 299450840 540642493 506278796 853618084 107738018 321412530 275516204 802982041 576107388 799005176 592503127 922661039 755053800 590165138 533152359 266030087 608776748 513122692 843686017 878943507 571920442 988157690 361690295 262351519 756789421 207128564 922777138 769731747 385048056 424450890 907613037 102143478 544652383 945233421 374905027 530308805 594218799 174758972 832858294 539725142 579324181 134706367 513775680 624666292 556774184 121999156 478917758 492682034 743448321 698282123 968885005 903498551 816830324 657233776 434208476 313461868 209603943 120384292 208328503 784015511 888659631 493689832 309474417 412014122 180773481 100457671 956495059 703082913 479492091 250335165 608142881 288305684 342597882 470405262 296569395 372965476 836226621 504192932 753932347 444012622 530916683 869709588 155697214 471355635 712940165 863245130 918167750 387052949 989971212 803968408 868795002 348466479 717373841 650610597 523571179 613331135 740969380 113519303 509042980 936850912 606119380 385031727 644553833 487423803 204392225 257403006 447571501 426899592 883598444 538084597 633126270 464037499 894438613 960474347 108546132 261804567 713726915 952321047 820799476 481629125 307754355 565863160 911477386 159608755 389209013 545979725 305390907 637079392 271339106 853314477 337490343 728948150 147249956 755667976 417974624 640126222 613142008 521518512 451724082 298871979 460009345 658907656 217794439 159079981 674263476 744560635 640296143 471842896 786528279 107312149 152319749 736779777 843705276 386829246 527374176 131015755 327748647 700420395 951873712 271501950 811224599 855366785 260547600 954933994 885253170 297106636 591950565 461139985 301059693 612684074 245999660 321850355 772655520 644237191 764589578 339293868 792220217 765876204 155808843 275561417 591259760 746712210 994200614 372039741 915973069 613828640 559687357 369787340 535119596 890185002 867747300 388287561 873357439 961462329 195088871 751673694 784312422 125248866 126029127 956887890 983706822 863977695 497680277 540328059 800228012 592885717 170997274 917045116 592817706 221015800 955433178 707410324 748115603 388376467 444752934 170192941 107328895 177660281 138022369 345491587 265095197 776839719 365763496 913047011 966896815 190459151 186918694 824355787 115975814 788898033 205486573 610052027 402778632 435737099 759204795 268110075 513800128 890333204 221904322 935614715 735650302 675549268 637589515 183978059 690673393 811590475 401392670 665733677 685931139 650804547 285576079 139200179 608516557 877490052 430854612 207309325 216635371 108567458 991713477 926542110 365077744 852421004 701619383 138355315 963282122 637461741 940966377 111049919 766567926 363562455 384313479 316804388 147766173 408003257 402232349 120208249 877786319 534783480 712359527 670809609 599599498 280229125 216960118 906571756 923756330 108837298 717238616 448714129 335261196 878027369 725891644 850086218 137436907 688322486 850318068 104216529 482555934 781964805 814630145 358584721 278682951 822528144 264326615 295874738 404527537 126498726 661975272 996544986 104048416 843094541 894661081 215634158 827978958 968396180 727159384 867974687 514729604 492705121 113678566 816461159 686854469 761515027 988642491 247822756 578220999 411857424 849166955 448340853 352584529 961908769 217329472 381657968 336331904 433920468 763554027 146265588 216382228 117039124 301362361 326679399 270599430 243954217 276928566 545336299 132622574 159948116 268398807 816936862 292002831 788029736 920107553 478114732 351262728 779405871 905862259 598671737 950551530 561915905 381384438 337457875 608422672 833427432 194142243 261439777 538962730 633540999 704321946 386992902 244226658 103164082 269386840 491367351 216923461 385411003 774622165 890219814 724702460 618507771 758883296 601306121 376793980 517343046 308581648 420419695 346986458 632310731 265324892 836940007 703092543 720986321 814824121 652069389 690160201 337651079 987538417 538823908 790953898 652870601 285632959 520189062 598243652 490729413 522516653 584044316 849014468 905854577 900035510 631214275 717747594 281167066 801550190 501154380 798136150 765812067 818555790 826389871 473422667 204082369 568782174 791059420 279300579 473531748 287609617 848182439 327969173 832754232 236418641 797027928 852770132 758133351 894477949 120647146 940822310 714418893 245829982 869179871 835120226 221320255 897167240 802331398 554267411 193822973 448994719 912216263 928975334 365459534 979054960 706528278 592286238 160013758 922943165 886899045 172947127 698788730 536129393 364461723 265663694 900732096 836191297 654483247 887265250 897022722 457113202 981148433 103248484 799523759 408483920 429694450 513328109 653180062 521080373 869312799 649626756 128813194 999713947 295875162 455892302 398509803 493435751 485953559 860990661 770701687 172169740 288082724 767636897 751275332 404355213 995929427 299726447 970208614 599728136 202867141 656204334 706366693 483323126 467880776 664187333 117416834 605806557 926516395 659490478 709211899 727828875 879282080 582991619 549345305 183611951 355667800 579522512 795505028 538394866 751544054 576740073 264501769 415445304 166350507 624904202 931081405 796651122 410833625 758200889 941342898 475655127 750768765 264188888 227831959 758407917 889350270 208636313 993828962 932141964 918556968 192809605 890334063 595281257 536737560 424903402 279083545 110948541 673275240 476867589 639476785 545177863 443370702 661960587 733638905 496430966 624023578 491910973 364027245 677375873 956922064 649810631 720326721 296865000 395847063 749796898 362185466 963008960 393363344 467625970 447645615 305942793 571391931 604227633 593007809 937107630 449374215 470864011 219659558 613653127 733497792 887442849 626832442 843954096 552517604 271162520 694726846 533254186 260912361 238013487 259133922 943096513 171698458 446027610 879170504 363928524 357605647 396180381 475183112 467851019 804916443 598129485 699210761 932522420 484646957 881039268 226486178 532466153 629589350 676697348 184204507 252010908 893196796 756184170 743985551 397730234 206755982 579026751 141797059 117427821 585513477 519821028 357383125 708195753 342154714 453354161 457250043 621525122 955785976 381871724 132526170 472872752 728560239 391364657 200959415 182605972 984755356 803084629 719423544 636159945 981391931 279314466 448985701 992829732 460149428 499015787 260439320 390916513 561053838 298158088 527774854 179316615 226109163 149538266 106241841 452747732 306962658 617899706 490447353 414689741 915224165 734020588 612362095 309002449 434338202 412369724 510043652 963667992 626830534 938268763 976283037 762580260 532553404 913047299 929578064 775792550 443339542 461681023 134887031 375683351 747095738 923778605 701961220 701804973 579570868 928248266 743346396 353769167 705315112 861231311 458440657 338600033 765200730 759795638 793644516 715272033 643949622 333917774 513583050 999209699 694734633 546164883 128137412 491180081 754090969 516141406 184828699 827678959 437294082 122539884 693923615 403067467 264618197 775120032 313640643 262878099 986403990 450309556 280266813 347467008 858537901 869879679 403053589 864832256 550433173 173731673 319886342 204538109 189523780 860168719 149761051 228391546 255278921 818900321 344885159 245035203 971461829 794761770 777481348 593838101 439423152 437404738 462583374 720203968 540645480 733881819 194131094 309754339 205917571 284688032 492426132 943113274 896521901 864839276 309948416 464881838 283928789 421720967 586694038 908022030 907093880 461786264 774440154 505136545 300931783 797857042 825209969 585426675 346816653 338725237 313441965 995426390 404464946 848196343 206996879 305262608 312660924 346088095 854156573 428209247 469935649 352611096 130029157 742553859 540061280 908550135 348730089 572097136 884442845 116048129 789220041 582118338 481098811 493354617 459472404 504275427 636969885 308798651 339818823 317566272 301084982 420807327 583851734 823273766 573892096 250188550 643972133 322794204 635514807 338513536 270203567 863626324 492092836 332161736 109084839 440187800 587750106 192250625 766284280 319849233 608275330 733114836 774495506 485131937 725413980 474615553 176790394 543158489 695891266 542139395 635297035 149877929 262901071 327223404 348067634 324214605 310951993 592976601 348073098 359115777 237431274 122818516 338079127 562779862 482763903 889812566 984351553 799459904 421205945 365368285 632640371 710499258 835576329 506212169 399297546 449960641 452290386 133497568 612918961 511107561 752484570 652393313 161521969 855155060 451109240 609263424 695140056 436041377 977745198 857437847 280505974 893104492 115747718 159647034 146070551 462311746 594037219 862511385 623359985 824123650 524540399 615184852 131277633 511305657 971973953 389496287 811951992 111985150 992167222 738128922 396880651 499846094 697531571 561705418 959971070 235700425 852029241 804433921 776017390 684250366 696255034 432163243 353181540 103342778 471965154 426707187 251388818 606930141 305174308 618308407 546784486 259171134 962041481 433833741 294473909 555965456 425163690 805815791 382282571 522462170 980364101 322767807 737215940 739607848 613340970 229077172 128365392 784034565 787589706 325699399 580570655 204651713 194404015 224266619 273902115 853982960 885732741 500344897 486279033 448301115 267233893 681081173 416361521 528768374 586376176 198691315 464518605 427701596 269306529 471905613 596233608 931846236 340938459 632258503 102593473 983446873 793571022 510083185 469819028 688369389 506167125 296996212 555803033 779650590 721340178 448913457 156167172 274727980 264691504 756575158 407720929 117127225 302427017 518703000 361365452 480201432 510890710 882013713 101619633 583689543 444126826 567170955 640075926 170985737 984169442 221595439 232841011 883635306 278052771 755943533 503602737 235955964 310430183 416484685 160365978 889474090 242717520 357605963 431409527 670856003 981605894 559589836 745003546 120137773 276282316 486696181 235505012 974516492 955419751 244148047 535400393 383887897 426244497 493007066 333711827 835647293 308267937 259668784 337031482 684082544 784678951 221333991 436425060 248028127 702812306 357560269 250294306 134556832 588179436 779662952 532013392 972079670 680016182 387226215 635053830 639232305 322990409 934253070 765907607 677384380 125520743 504808930 462669235 122399072 893448191 157030704 114631090 842897633 863909708 928855946 778901492 897935596 913582070 349840123 587468356 181947711 176126182 558471762 959412078 157674680 489655351 368258075 798966751 973969504 536982457 553600700 849154252 902957915 314437823 361507507 111118857 799341498 902851265 427704153 192780665 704825124 489415377 932050520 411827017 316731044 621819517 730291685 528817274 216298939 453410874 894587441 440741626 475487342 279239204 203927862 404095461 386910057 140810925 958299875 169086394 290365986 143124595 920582298 619309053 876313562 284026855 316970394 650797459 460665073 193857699 894565725 122896294 821414620 473990463 892626452 616932493 625522973 913343279 626098967 366669005 122211533 619257501 852165854 352263922 194718937 689037056 203923741 619487301 670506116 904799037 979042921 565293975 590873315 919246141 812738591 635491842 579522605 264310684 693959718 250748288 744057189 485173541 343278615 527537348 926796156 877490066 953083553 402803676 221160534 532435426 569473224 323699285 679640098 300398167 972745522 478356687 769334149 595126918 982658496 506899334 402455737 866299594 639885926 320971364 166091406 217707673 444256744 101481862 589105096 284823971 283091142 138999032 297503516 157106543 616676192 764490764 454589456 922686231 325027943 820169002 874872098 211532071 407000932 793606134 329603488 551723381 209925149 365827675 762664549 164013837 813547241 415770030 136022297 316385167 827535357 266783391 945328233 615788508 454047742 454243276 292228674 331051357 805516392 225090025 213645415 209943835 246035404 845710770 724203790 247291435 204584658 143754089 718358645 917779441 178098729 670441823 324532412 982566033 564973736 791853240 744985553 421902568 485352702 777071749 103847078 675943940 127005075 793438137 804848004 868589705 759454963 102662452 656858371 300793838 634015032 871567060 420671889 980892390 432446152 191695328 599739872 144969577 612437791 626668240 455186046 346660181 756867432 389562737 769338780 729103834 339333899 285561065 445683958 997540550 678185214 375652050 480793540 309162199 328119133 133028067 416228646 612910077 388603892 420937981 248877699 736349705 143708660 444193713 908986911 522013270 573322656 927201866 887449098 753318252 294686571 283759147 951894109 929112938 872110875 183802301 602693818 270351802 102547260 788869013 845589637 977478518 915361911 578536088 434600381 554734517 975981435 702862056 617003348 116219559 240722801 457947436 706068603 882881765 207917084 502848760 999969695 642675052 747226145 772853524 513940557 869267302 616343937 100256122 194378453 470901931 541402712 530933447 400867608 955198265 665714337 368351832 997322807 920296624 210313535 865803694 321299755 566887463 273172052 648723548 750055679 419316987 800639820 348390542 726615687 284920426 532194995 562252800 502910337 529750587 434994119 177985204 561346402 336711693 869126687 789135545 606917623 448468562 510886680 223459773 104750474 545561736 440834406 629161619 380817369 377262830 474252322 864750201 888198263 374031523 653900540 734922175 914956029 429494778 221235295 762866495 951572195 642353245 826603995 957253246 346540274 291272974 843721640 970463638 449359010 535167134 415452689 300966634 484494483 654536255 168010010 770711570 842720286 434464573 866216497 530824161 940345701 572155786 320439452 157079883 885595853 628747167 736179931 351874066 958132709 186458891 734386057 658552569 304517050 510480812 425377377 296140552 490601482 780839322 666572868 828315187 857953253 645271264 225978391 368456977 299003399 970278414 625515008 610899500 778897748 227971616 671677698 880202839 102435340 368420165 794738286 163465929 246881466 672672028 951411903 516568282 845442290 653537289 717216587 689369167 576775349 296295397 921585508 526382096 900437750 780048480 564976160 391839781 563779881 958772665 852689220 263970358 595993270 745847456 946992391 103871442 213227842 684220414 894991793 313169079 167948807 655923608 223696298 688350525 971158751 491869083 140375262 482901644 972543596 323512164 802217553 639658940 729091924 360061376 829816792 732506554 673689440 555478738 578834756 981458322 605427655 170819609 900562980 973165465 389983567 243449585 519981732 569532274 310330520 261987629 376180751 390320771 693524146 225899282 660922670 290509765 829330971 124730017 156023542 669686393 448736018 505621419 584584377 798574494 988020323 197698296 762728745 875848510 425676412 990726415 246229025 982285382 434986912 177882807 376222945 933109129 436770057 654682176 415273860 174088102 864281123 239560996 239837476 309198369 613923045 415440308 227859322 231783381 975443075 941027049 874643677 898049921 678240327 886723253 171117544 301167904 951526015 143464370 544504938 244760771 124678298 693782701 902835503 355741345 715087342 725476010 368940444 335761877 351626190 583565437 216196818 801694159 424806042 789295001 638264477 757463453 764181955 149114714 387699738 303448339 132563713 132340484 661800616 809404445 119222838 551347904 227096597 763342476 864895129 286088610 142416460 560609917 168355077 923213816 710968319 307125625 747576205 325860186 385292890 592878734 535865554 519688488 740688455 387617429 197641513 712406683 151649262 611496598 671691892 303241300 998503603 662882301 958007206 220957394 262162605 841251680 880201787 550173141 720873976 920841914 116898992 697820415 535333894 203273962 926814578 196740404 482959225 697955037 192687790 479398028 295663638 648734467 446994365 282459256 997369948 962442809 461489578 899913092 740442707 776379171 840366071 323820946 422793477 378588157 166445362 703425400 661238827 649736326 569355472 315769520 684744069 294946720 901430462 570665110 277862704 955021888 431476150 358128262 357871084 757351489 284103408 424832062 248419779 351636483 284563368 339993819 362251949 701436929 383125599 434476320 121196621 988797682 752058905 430392539 886904712 709496840 934664892 124527160 861586444 611063175 191377526 973814733 700624453 741878184 606357560 800166592 725040739 646967871 990497453 867915084 713709408 207200294 693487285 806759260 455471110 718224356 985134460 402590321 167382055 409464872 971484550 793226649 331285732 528309213 841394448 895559344 992860307 335996797 690553331 222835012 408116721 758422493 378510959 292865259 229902963 581641803 904530344 325849848 273588273 186749619 343234886 921454001 528588832 974264099 232027821 808056506 695279445 274337571 671701073 190465505 196479223 997518391 508315542 553115761 442351895 330760092 815038035 360112904 498300553 153231867 676769054 327094483 965504637 182581402 254452655 129696610 240206325 637814738 776383591 365402747 579671430 469205257 920238528 377246979 760747554 729713078 440109600 130175139 541433770 165435153 816080870 458250610 751172211 353637566 910432180 967750617 444430677 316927634 907120130 598985820 186472206 266452899 858754970 694844860 229123100 817656453 337568850 406616215 832492716 247361474 823452192 896205955 931873011 890156090 170171336 423835543 948118742 876801560 941559412 404609866 874522414 513387274 716254179 947180881 198961935 137291667 367301150 981232696 439990968 826895377 527601144 121205454 988420648 641676269 577894225 965786519 461742007 449492224 257781738 622677758 913663148 761262673 655672816 442219495 318656256 989280594 667099314 149221563 411230321 596256653 907805318 703838444 811533927 424140353 817669298 243340524 765726522 789082582 735866515 864757637 562187458 374684090 442132601 490202938 328164916 933609444 977376545 704608480 816905560 378925381 160610679 986802761 469674649 208587555 383565912 702431064 235362087 178169585 108317527 988353383 342262079 246675312 627570209 512080031 375466735 788323147 621226074 974043538 440766973 619267240 299471692 842798085 141735851 139987656 552519565 935733652 354982717 308768264 900343531 433875497 556603550 792556636 946190486 843366813 968796794 806085113 889713014 284239525 467596712 857687264 919362079 705366540 535109845 523908031 725287591 688939643 413462039 790491245 595995687 228848851 650284438 858548442 571169776 450659895 138783573 601847526 537899518 745093041 772284772 390878322 706792665 235768219 116911200 771758068 559317571 789020467 940583310 122982721 617009094 492367786 749004844 237862321 833983483 428249960 718257071 585516375 616899579 264226977 537796610 625180678 809335917 191619004 248430829 860592341 732165286 904479458 864418550 156377857 455685038 553004909 324156555 194783894 394984785 475631098 653201678 458062977 669555636 777695744 880231676 110358783 529248732 721158902 493504499 921499924 193300200 945458570 669668827 341079169 432102833 487228981 554430505 312010857 255157945 707655400 919502447 935343458 631194836 654850257 941533600 999664000 960333642 558350174 528539121 136270955 141654896 661450027 313473667 800855486 148461879 111914080 626451670 201242365 850253941 636931713 992972487 253542841 485537787 118070967 862106485 111252248 912785905 962239236 774906677 479164238 842056446 110696833 880258563 580635354 199706709 444476589 545462483 441181157 903464734 217984805 243989405 755084974 537692056 938406556 347608683 828618825 720698991 846213447 561518483 345744782 423257771 390003524 459517188 914820907 137018358 912079898 540038236 876510918 702701236 441223540 820937704 724232532 737222890 881945556 969671952 476723873 901318701 264078313 892662861 747633759 618503563 409588682 478002279 741753401 433033484 257218386 305036475 494346742 240058801 540051358 351911458 817394502 161200623 531548466 565902890 887613338 831320017 148156562 912625837 243996939 440143567 502410113 731998927 635679855 693634752 925912989 929914081 391531715 992264635 620935713 963122858 557100355 320071935 925034641 880558416 795205698 799508851 846185072 385878019 616047153 797136633 738446127 537575560 285498537 565502787 848882356 232668053 698622213 909605502 528082658 708503438 330763715 216976790 289452113 127275824 134284327 841640882 386330113 992275485 291105527 401497356 173837684 537192422 910429887 282396899 424795928 156752820 554179635 522930122 673769571 545223020 400919647 214005882 890277660 846570834 524132380 116694472 428862628 888375708 270262396 873480931 593853879 982382559 382574376 789863798 575645947 844279125 316732914 891812882 110502731 990724896 781291995 717878183 244265954 370595162 156146892 428286644 309560401 191265179 231579133 880784057 174900671 618283642 865378907 360755234 779005888 173442739 276813659 754307095 985762799 486201738 844607247 879942339 107991842 614399064 226878659 585889765 917088846 744983494 659833214 174103058 907008048 100058067 801517421 120302209 578884492 223195135 641137214 263248385 825413962 666846825 663356375 691206387 479428654 576623109 468372408 728507881 924294046 193145375 564666348 838132779 461103915 135468923 733475978 953474113 688587119 815892411 656731430 722654862 676563451 918387965 816813065 118286769 496054873 594124535 434643541 110631028 421565125 396778879 703110099 198312808 393990519 738015107 894399292 618592368 302373030 723041127 381902484 521144588 192147371 715351338 287149107 945968283 557010624 258568959 320347180 612815803 200502304 422616848 480316247 875914056 732127241 652905562 263794857 187261939 524640347 575812386 909332625 960396064 471570480 824663595 468694304 289112608 827748285 306901002 954578069 209850514 320050266 556764836 647229375 506191239 379536906 223987377 412843175 965420156 838320813 288747427 779424203 807874699 172939230 598142982 890491991 596216502 446740388 265711289 932149829 794721220 729630583 319728000 154471434 208951216 451372611 121922276 317982137 235444750 463573049 362440761 846910823 449137686 762699206 752410380 780971649 713575451 356258971 722581906 765332498 214157181 782242356 165807591 169761441 545666917 841418024 436408161 672852197 765654208 338073418 685224608 923573561 661336859 676977863 771635167 689093225 674498350 305923333 281127673 110920445 426207440 684289736 874452989 969730212 870151832 499848484 543026502 427479105 291097938 440696100 699413095 357107288 936022013 967642832 969573223 375663126 617613444 384372080 134096062 408976123 783102614 365610875 433860992 117204674 499858925 983713893 798068893 498933390 149862253 972751047 956326483 640586694 903661367 622795673 581677480 782063254 374812391 655450471 281203469 313780385 795878232 202894758 515495729 539389479 715425179 953799447 888804832 821389330 511486177 248028152 764093890 699281434 310554437 493846878 276488013 983974093 249966776 413352518 138856122 791050438 634095851 980504838 956505113 978607716 342115730 252926994 699747875 565233881 706771272 949057376 256242566 382551271 913017687 303894749 235603413 133658594 545915491 875924021 694996221 573948107 303026106 596619547 665347770 309191963 130819025 282896971 156258487 965428841 406760315 332008874 870724614 625436663 556173224 116673613 436874780 684621310 698194429 569630924 783717542 594101190 350311813 655146495 323067913 768772521 340765305 351511702 640315905 770685550 345022947 167627906 567099407 774002704 987293957 443401986 455478557 261067912 813161311 364037293 346519883 244643667 245618092 674332076 455140336 290972512 293774888 946333105 850074760 522224976 218615274 548333882 913523717 234339849 993444947 183454928 928358315 489305149 506148894 655967170 443046259 823959885 371254863 835966727 189758484 625566417 635408810 707102074 116707585 144695760 912986344 320323065 692505906 782405488 237070333 334127105 326730498 204840158 732658673 311640638 238283193 361126612 424582067 471710193 907289369 501235253 286097595 230894432 610365889 682318454 718742073 679059010 430804511 682051167 932326672 437785198 375280030 554827861 238718684 977857346 740292741 393294608 440510105 915586196 326392919 811808649 284000658 767517308 543498631 860559802 541630511 344346873 556502287 315502274 707120715 656099422 967251900 689161028 802006279 278985104 119189481 139881481 343234612 617709545 261021935 309200618 949830127 639214848 272758107 607533565 196838473 880177342 235716399 509553109 442968228 295534006 154357974 634482479 406771744 868019264 227476054 336365592 255975799 100591595 137881561 257038014 835908619 877449359 738009990 561772994 317862075 370584392 884118856 582315237 998189060 708944635 977976901 491693243 355120486 717631276 139268692 328392968 655307914 152878713 165782318 688132752 440058701 365693517 228995875 175274282 409098769 517000510 596008691 926142963 729921677 403262306 625588559 293998208 876365642 138820752 372655188 183764872 916291615 414254840 761349834 255483132 886348549 246015769 229722534 539536861 662847576 471927848 429966913 412340907 806449462 839587531 554700506 116890642 624657405 116847990 175912641 527700911 928196026 552995472 564801885 275345769 269292392 254281498 419104334 462135702 330159649 771992471 483608368 309959171 513849232 478845738 902154222 567913387 822863443 644220539 331386355 790194875 208307200 290723895 301478576 640128139 674598833 787602658 239008469 773770358 940146512 130522439 141705265 650095983 548045086 621337463 233463943 465436692 809584027 197544964 152214256 752230497 742680949 732407976 159904132 361631041 638008694 651740771 849818963 196674991 529167632 940724041 291060275 374210615 649311729 276256639 434571338 682288596 789144308 422950537 173377894 600582989 705190486 955572988 923309695 456051061 804174977 830654675 124228809 518360941 942761429 595154399 862987152 119229372 467608309 570135338 918476156 531046691 873384825 691177140 900405673 443805216 230936858 454997241 749838056 917038756 473273194 607107784 610381846 166550177 752658294 608161173 849338794 490935638 853834680 745492649 214778028 778742606 637541413 957612072 541887172 706222255 300016237 873256723 561251792 780314553 687480679 745492923 800861865 332274296 530561176 917067155 602067484 905055257 354342699 179676035 657306161 699986346 751401812 207838715 700136132 539916320 866264570 919601105 464277831 737646372 599816771 281120787 664544558 598602958 342045818 819653197 241602317 246040593 822378305 799102408 827669222 987988641 734870180 489018783 401979265 718066023 886552709 733847334 894852009 936732563 302677501 558098580 256526194 322885621 774882273 200925443 840650524 101950892 705180242 101796070 578522779 346661979 270053256 432286720 464465486 554942524 513731255 597971540 987638688 888149605 874019369 779212746 323848603 867678721 674648386 120227688 770761261 319877286 848151864 232191132 256138293 572118543 227372760 130973042 919236649 558100971 965257777 797250869 215089690 180477995 648289971 691682380 290199278 324385193 548470652 458110141 169478324 636390950 776169752 507874663 270878074 929128932 374182193 918962361 956916814 803264399 337126091 845985453 118352754 345721009 754407765 854397917 789286972 605786703 595384359 711537254 661857316 996524232 795857601 998438868 864145403 254352544 204463905 368623103 722484118 466401479 810595056 593880338 832761715 743295282 918866589 907106335 906607288 721535070 961260224 171522453 835754397 605227555 386324523 430418781 754422819 727120947 334590183 929155945 303579941 196025291 167521853 736532931 848870775 992996136 485181651 755625786 512914685 974903342 928236342 388375459 826380053 877757017 330951831 192721346 997853597 282467617 534991232 255696344 597777623 644194324 669993676 705230543 969691052 672219394 922192636 824311573 938001152 151944993 373062093 140007823 648613789 861221708 796478854 477043178 337543146 501509952 517125471 812028760 723964256 506556299 463499978 910221652 554073513 107428766 800655678 878444763 634259923 855096208 665640052 198293367 310006666 259228892 352211030 426167610 382102233 830117019 946500632 130708290 906379858 423325287 964489118 341839395 296517662 776803547 704812903 890192951 151835565 665999375 607200396 992739181 830344467 126944119 476283550 748788901 108528329 839509264 737465347 584083550 400856478 672449672 291823987 176819042 662656339 493617796 121074358 818740277 198590328 577666628 911177359 993222871 341120083 566879083 816318735 939859496 892270545 185994896 633652357 529637153 183310460 361677940 796868787 818297332 861588833 708616916 161593103 679846890 384745832 763731368 251844063 277580459 370606444 546542613 751190039 684783287 428272000 743418709 239246879 181876173 864134068 114748431 619128025 319479066 818664027 610208582 980028731 259968742 546810265 850260448 104475064 880583578 699545749 196718055 922042379 876533714 168563912 556758535 523484860 838247898 713876974 298850162 596549677 748093387 300995784 109669986 260654077 459458137 367098145 829439101 930941177 935480226 266149264 110428886 950816735 908478463 178619767 704493695 710867568 761066895 681869179 729793483 177531261 620258703 678413344 809399103 763226201 997461400 382419609 866459866 797076679 761330887 447920072 675511313 857132395 597081574 698663076 836094692 399373268 395482500 261397070 709245297 677120325 101198170 767085747 705335829 479456103 514751389 706193543 726777734 580174559 608874953 209886409 376222504 673987330 871958393 989705792 320562449 321804147 780549222 708417076 414691893 445575778 735708830 131750995 329087316 803426294 417300066 678566917 642177336 276745329 969233099 632111921 710225614 685660414 372441316 624833079 987398443 257677521 193577574 858965726 624866989 287448166 803789547 626615074 357290532 603803033 263934301 494912051 481535533 862772512 619214975 547272369 426918194 297460379 101891025 283514432 761966129 791691861 426525268 454228196 210818349 749883676 158188166 825513302 420365513 393485740 636614294 890016471 621763620 610589079 503918823 386176076 824676559 563327003 589961422 727366566 992201090 752197424 675335387 654456565 972330137 737943947 833480715 871608034 634565257 569119871 670048441 264375882 946425403 271162524 836833384 568181149 637707845 133879196 388183744 822928254 324442089 398049058 792058210 650086135 262213786 948435109 757846666 983040949 690577452 889445352 158335684 749640087 133658147 289296606 196995667 563906560 523954044 551566353 195668520 870082620 112918630 895379720 238631098 349573740 845134915 359022802 791834152 496210685 155740307 621930430 453603097 447490265 530377582 164848878 431496625 649399071 465159407 195331955 647912339 619655072 133568144 377353686 699544772 950684648 665605464 153146324 194851551 539877722 722467746 229646948 470466184 447525912 397505848 466934989 651220806 838881851 298106954 386113439 827408397 561879591 529313347 704944522 599834541 902163144 114396218 111614487 163285186 528724597 433630745 274386292 805536784 192276892 442528498 337221385 349964876 194220428 237971298 230266535 730019026 808946271 932022328 660757002 822670838 718292467 510824085 144153109 399224692 933896861 923794154 889385362 728346368 476820546 958262146 425416460 523357461 796693924 488465118 935227850 221545673 276724942 564221144 505408918 957374327 115000545 271434755 780817724 207002278 462126667 286916270 142117318 395046594 111030441 306326568 425022183 183720236 327730230 185235702 918567872 336088585 660467549 826619596 326959669 649128392 675843054 183748165 383034975 242932155 458095505 112877201 174575236 390923814 876771687 269368552 898197128 576768607 655117349 459821803 456842361 211204454 233852121 538556099 902069298 342577989 270826754 952772227 982222522 125310493 665637485 228477668 565463964 901323943 670419487 726369542 970930993 936858776 994732611 840619318 741266548 245805964 511058004 724533491 658802515 962089769 642225156 565763038 892134196 197100069 224061538 599418449 728715359 423562925 596900401 150166019 257678235 690959955 630284679 281031458 298127733 246030763 979245436 772546369 528156830 994808959 910104474 987755736 600395292 174931811 868227309 488534271 553541034 887996297 456278912 490236577 452314141 920441259 782932804 229202250 371880776 717498623 196847911 523587700 527760308 443679061 800627992 511525837 269687651 222259821 570818880 514953649 429044370 141150827 833970387 236075684 311387259 437247010 995759097 227022266 989946739 367560745 558216164 135229441 815578942 217611405 747421128 347792861 829017715 762822279 457607585 150048163 388422945 992130659 635591496 412743812 879043245 964558407 657489897 229938824 304003758 396835640 130236871 623687034 491588790 729168044 729849649 570145314 689562229 101828418 589841390 306206856 225214029 943154678 187670906 692080603 289576207 901499518 265513476 843005331 897918365 898669330 858178984 850852724 140260866 458420221 556240425 496989338 918124255 996634916 159607846 137812044 943172529 435806735 342050231 907586255 993354412 418086753 357665270 895844707 958263806 163420912 435678832 531960495 532067832 371798298 233265947 869451824 580215119 510962968 937794427 343611409 475461956 548877487 969482281 264323118 173500277 458909969 129963923 960329616 376185829 910499016 662163299 169888020 998557522 579438319 365222192 177006039 600307003 831238993 475467672 114026700 227463921 243428159 615952363 544049786 202948753 628295061 819774732 383786721 548057435 195702555 833446007 197232295 881282618 306612905 877670062 804827313 358834173 564799036 888666947 377435713 132462326 414048066 132539584 493333575 945079138 902185983 660986013 542138408 703229279 166530346 257288990 162652892 287682512 181111916 740049154 914902819 317211922 161221191 610312024 796395037 756739471 521859612 782786919 995709956 406616304 545141235 567508133 916091010 597770065 204416083 947334730 748880888 437351798 796793820 766288846 246189733 113987842 445467874 121489499 406078750 630759966 766451969 868940479 288563792 627639602 162526708 801820390 252483399 223263644 314083173 528271490 351565879 263579353 404074675 980793682 674143859 711250888 470852903 700141881 683036922 117087475 792139284 465732949 541733693 540408144 208115944 307180993 337613707 183035273 158321620 600870104 347352127 958477760 872742615 767501828 679211764 732233708 476294959 245977477 255645619 634468677 403710937 755355202 999807276 664117081 170693952 957446555 747686741 852027449 135774841 332523874 515536406 127393132 457695091 172653629 592696818 950682753 833012920 430596707 399525573 522329074 889465951 584986843 793574752 626246858 622290448 981325551 341841568 971477575 849575230 894827852 964303313 368647532 439835958 467029961 358091097 374036771 354740596 266501957 951668736 708085257 590945161 717966083 817609390 490037239 406100199 933850573 769557264 425934882 725742791 155888665 662412935 586881677 305449097 971342586 374887105 926344362 704549581 995253902 522780202 960869938 501935993 727491120 692276098 437049682 853085301 958474862 710960933 310659192 231956773 485308414 418726866 119777883 816777530 188060327 957180943 298177188 462407845 423580490 396080036 852001072 123978999 924292939 762409463 942683708 898257431 853088371 375206388 688231874 213250573 431726331 517639421 172839772 455235111 479093639 213513535 876063635 505696854 494409503 194837483 241114947 432731501 627639448 391764786 922880537 532244532 218727773 714424138 494846640 768081284 355308624 548714718 126147085 634779079 681820202 115198198 952596043 821693348 959886585 711172581 479125999 189445082 736445295 530939305 781194206 966259705 272312596 500799595 195102745 424895485 531910206 339460170 249841944 832093824 642683799 535208162 105358807 174089232 321755900 761931440 331133887 221156272 283895026 173325101 652361178 895614252 431654187 540466411 174604641 945425972 904308631 414799705 248059379 874042084 443936687 942496306 872213366 338185023 977411985 740970506 341266065 271345755 210150497 352120470 110065394 442989712 532184795 490226932 372498500 773811434 108192976 152969831 410240203 161723404 143611073 590858109 175482015 925081733 639075087 568006002 639925382 558096301 353620596 537657490 505871468 518655415 643811052 454603707 260803401 396929306 136475783 786062331 312721422 681490426 205037592 471169784 126059677 597035541 233506722 354170426 389025141 959387762 632212964 802101101 901466893 289958912 924812806 265603073 377218178 858321889 411776068 171507547 124094494 315509483 943329643 684675444 486368545 597052610 185958945 472414736 786044314 339842461 624170168 172835288 826120784 699948487 381723067 589411387 794213525 654794486 785998210 269161846 708932782 379553150 725416805 887332530 136978412 638886552 699514343 724379396 164632300 979179100 328847150 877315731 507697082 468598725 905532029 395815999 993740553 365226459 423827302 968598829 343643657 886924811 951020127 683161019 927228824 875312098 110457572 587028563 783597328 513272927 701338163 749205451 381548834 414760613 281784724 460207202 161090439 401271267 753493075 891146254 188569596 619187401 500135161 713770400 962905080 856939385 187464775 714004482 101704584 718587108 603790435 276445184 231883518 423280511 283560601 124388303 412595017 759217016 545889069 790654407 398230881 416268908 787537135 156714769 823625387 674021005 247409370 300659466 406830099 493895055 471152518 575168279 704600781 215621117 346380430 279628270 431681586 932029568 769438869 826091697 243184249 488088315 744481093 283612222 823232823 151062526 870022136 593283143 759586803 932784684 592518393 980310697 775503331 899375691 301906939 448270720 481589559 598452392 441502805 237619549 669284514 579767310 772310811 699390002 269041559 286519522 208599052 460076382 166952385 248149195 466291954 557948284 695081265 164845608 735401152 764012903 509468587 601380396 906225283 623022243 813558956 937468299 253352345 346199496 661959654 483330729 705707169 682548636 129247259 405415042 872118911 286393208 855418090 893242093 872249429 903350257 177387037 254611578 435208516 114935238 464690171 756924256 611617097 668132083 798976791 353623189 407012973 631230452 369458073 666840613 255507308 799837866 462078059 789850090 857375782 774685472 224540543 681412584 801567788 952879612 202869142 907984653 586154077 861479122 171371504 158398325 489408497 940534646 319243814 881253200 893311329 175644493 452381303 936967630 339865744 257254886 883509681 836610692 111497463 121179665 381329273 699459322 133921712 656176048 991446732 853574785 814063138 996125145 402308409 381521914 660217593 721543635 255878177 273359737 578933829 182227763 852120726 294752453 728320853 490252293 283015323 229510597 512804456 443603564 575743589 291098373 303849224 114077231 727340328 557932068 737413571 477719739 454575212 328930303 444159993 557826804 765234575 894857450 205549492 544959427 228578402 644715538 265694029 819757000 319924877 747816454 788781662 387936985 494896095 896480043 167902757 439441298 333342456 277517812 596138419 985533304 622870896 851644729 555738639 225601390 972566566 564913827 244713073 503118462 989896494 849646526 592948268 122317948 281151804 388919682 546524210 809444238 962862985 586461697 894399591 643981954 722721892 253099470 769375859 883467783 333032670 872254334 135148268 673588922 754193834 775801120 532956720 741954092 289617541 653979756 312992090 877422892 518332659 544921854 986433637 201025701 836918036 685088237 853164440 355269317 485634881 749508181 122244761 423518677 851363265 712780760 739731905 434258754 405726209 308622278 145958009 591148236 128301907 382205317 991042267 847745392 711513076 572603342 461806042 100038983 611906961 432108329 941255934 501430154 855201768 481001549 579668799 757582738 518353766 422139743 708498704 819939404 450124741 584178127 282833601 461902082 527514756 512014798 826817990 410749553 767963025 531787699 924121354 653749921 852926060 704922683 775161643 853006781 833162058 387508931 887807528 150140701 906678787 563209077 689746353 725003194 349802584 587512082 513742292 732444638 545084006 834390104 159285704 165415525 394515289 283478028 122002552 511005645 194987229 892071358 467789485 769546263 863505047 133400633 593691359 441823697 320215312 365452548 285452547 543714331 110726775 669342221 795242459 267607131 891754420 387559194 397734764 788068117 602885438 780138426 659582961 125140876 398057643 339335263 133415978 802772553 652639979 376681990 167142701 376849396 794481411 212903595 252833262 727001663 793766717 468010884 499530581 924479029 422867185 828289670 767399724 336511267 545711549 471693870 584151807 659969130 385796202 785273487 854743536 326798550 903323797 858022551 493723446 182021553 265501198 675935478 231426203 246881308 461971243 722077624 180457808 309853722 342160692 564464610 653937009 532913590 706186077 868861344 994643274 880649407 261225992 462227153 142551457 531306855 390126650 430600546 110463138 707668627 352510803 712529865 326059156 892670994 637323175 578403899 265888910 794016824 487591193 765647597 391191049 233555198 712429555 296824214 341743299 993728583 307338965 818969015 742682775 610649056 598862598 869137625 228832883 359357360 343975597 408489897 323777663 792956898 645387279 952514472 874918109 652710663 443247755 351942289 193523357 596908144 852936949 598516338 759749206 415549897 256056565 275710083 653969988 162184329 977547088 934159027 921978451 527625671 260152031 420437214 773834293 862918046 440195609 347807397 399052143 506903732 508711131 882437280 861547989 373330860 255229136 519048007 336411799 320086379 139722932 899939075 938783760 889300016 264968790 583079919 884944908 464674149 586392267 749906993 162049912 660554214 949381210 675227368 525394822 771312647 263617324 658290368 916327285 639438870 624298103 649667458 398901969 215487882 945040788 199057249 640960428 641839551 250727492 777697717 490926857 974926753 324812489 874496486 237964893 884794626 657471959 566400722 857244090 216373682 193401204 833869509 278295007 486392485 292885462 529595702 985200126 779176907 184873800 372818516 630998355 886526431 354580480 745554958 513272353 882172607 216736925 224269863 476167808 128458807 887027245 604326434 699145235 730783684 687769191 828506307 649602152 988062377 910783419 884299918 461098332 620553083 994052979 238413859 455073017 811592202 335833448 804573196 206749717 389967963 915536557 527949821 843460982 869391143 305399619 205099245 536719790 589701439 646477550 124481857 818198057 510442702 557716844 554351884 300261888 828538588 908535080 131520166 387979416 257693393 713262824 623770523 394121647 267419924 319080509 739230421 774384846 239206096 695371242 502156354 260615454 643424901 941472490 462085131 615277173 474055139 821466983 145665117 285960815 162332227 492254151 412031753 334631959 616986914 380782368 629535228 646253240 743857755 226104831 132341135 770352453 308253385 574054238 475863016 351778174 981037207 626253596 677451443 392730346 687320476 891902266 895268961 170325323 370368149 549159863 685304531 624942654 798629210 186531248 986553221 630692536 136993278 575506202 820356857 420554778 890706331 126976509 836857422 203624614 497499749 393467895 956691894 751127929 203950999 714245390 770593365 843144751 286285258 486462599 483777460 623877271 669994782 500453842 485924941 115847114 438796961 485049136 268185381 210719002 697868363 975491181 399844658 586681560 505920168 115687933 890525768 712359908 586916313 596810300 115772320 376787558 141437379 171484792 760467151 881906747 427366082 135438077 361227458 721718709 276048071 786477689 549575001 534126210 424949972 107999713 838452119 235323115 914888002 161895105 759112274 509078976 677203282 284296497 723890833 600841261 764926537 916140315 120416106 777367095 806438572 279567240 368089345 355650029 835138696 205162646 261527707 592581457 583209885 359754619 163495603 742689303 327399221 976672219 452106068 761511063 331316436 127596785 357436514 948335216 853284136 546412629 459199504 934292133 429508660 922394468 111879857 363725310 922768162 924647099 677613123 892325076 471575620 591136424 994466277 279604799 692430864 261722799 342553721 654411450 260818057 148009104 870045781 440242444 914908309 180394065 162955147 849845744 840398856 390210371 683339455 664950501 475191995 797805864 593857754 851749720 121347429 305400965 632883299 671719587 154795858 360394192 210227115 971811570 704659919 179146766 795198738 316141614 647366342 750313986 828205218 166601966 293719538 745195447 624160869 749154274 500460776 654032626 427415925 175235553 106244056 227452132 260725854 832670003 763254581 356150230 961727295 243277890 577887488 899875007 287471822 400753942 399499622 589973232 422562226 559555847 276209761 794549193 862244338 719453485 114704983 154975175 342232079 988734148 929539944 824548420 802114288 145664376 954728411 581740914 397355609 283255236 836187306 884738705 915329885 186561689 648611182 185228122 240747397 119521707 189626157 530361695 988281697 489073833 898642796 530003136 907267257 637434123 459695286 347903682 237650136 248906258 791735411 651693733 859022118 154885274 148859898 242370881 130225374 873752663 902421013 510266954 994400455 784061543 423321520 609411755 996293981 444258109 141824667 923304226 515756148 572537918 863181019 108242910 194935547 573345444 636068728 904482743 781469023 997764355 236777664 476654975 914915974 615678126 719959674 116930943 262711921 484725422 719571400 309636045 597061885 481706110 746035093 824271280 772170611 902391219 444338794 651552998 655512707 924690569 457071720 872081332 380729699 671079979 612190016 596140898 946559970 509410801 491730509 622975054 594485863 758160070 224910715 998764595 394766916 345797342 432281059 505898401 870395401 230965303 140971758 868846897 296107799 755806036 202619511 205218805 420176206 374951758 895130955 216803231 984112823 217097509 489289725 824590308 350458240 353901391 187145720 362758227 459952795 487059494 473186733 820583553 485294383 260989562 361623541 956302912 424023728 720169635 784043607 643330389 354803119 342404024 636103436 835469646 478676386 551036402 212775451 929204842 538872135 634545290 370778448 762117210 236365290 462628368 542197157 571998552 338724770 673887916 540683006 496505399 527121647 481805775 552155421 163201351 530953528 119529033 327915151 404382185 165370384 855468564 739755357 669086834 126423446 660600952 674891425 553459749 197681082 650760359 698378620 508747988 593953286 517175348 772057714 631583196 534766529 249241728 834910486 685379857 452227914 734377097 786506501 806084078 794899771 100682255 532064463 780553444 386218687 103149388 540224834 205901436 440907851 828615915 240980843 293724161 741111192 437180197 992095524 412634883 687712940 731554447 342486033 734430630 400649015 972858827 204457830 879619574 458272572 757254493 187325206 396533598 181481140 572072240 111973485 353042976 109779813 122749022 236556658 533839202 878085863 243933944 977756426 204555643 320473036 954640198 979069280 582503188 610825621 581278465 486387241 528638283 210014070 313545953 788145612 308904607 159466942 142563928 232359959 757669863 381883049 923317551 340628320 409601453 628861474 999497720 993206870 797028723 493223179 489455493 748323798 929370035 354744965 799733538 358524828 416925588 899695306 677407980 295997822 537226586 640709106 219488888 559635463 227360939 441417949 446203672 976838739 549849431 520329150 684469649 747408846 564841075 520307198 397133436 640877494 720668353 890269019 383329136 166590696 925587228 471046282 747527207 888372010 615305067 880850214 266642668 781429003 488388068 192621900 354793289 682335362 354733828 817039284 602221481 769486418 919522831 668546884 299762662 106956128 716567558 683014958 455210201 354512523 895440123 598569821 141109847 844665317 901461147 340813657 438001434 859806969 991627327 265729390 253223246 962166746 226687602 916741740 227682711 705751806 912370149 123293195 413453746 959434850 188580391 136797821 611319040 541108118 510608067 504293543 646331692 381579564 900122674 169084349 378773851 398328140 558689686 178201489 540957199 817070365 688681241 905306092 883459336 939270674 321189956 638622812 624939053 983466274 742268546 948595551 797851999 987850880 180400934 921876298 346720412 111146146 295843260 395372668 915641613 751169135 124670141 728138526 857553266 953761005 137214528 116085482 873014289 226753139 347121693 331774144 648358329 163310719 158463568 240491226 973689643 724865930 734987941 134583668 104447657 742221514 905859214 740103906 751852475 918019124 312256962 689497362 496915152 825297792 481423814 759464973 297710170 513593778 381792626 364648419 533006305 208807046 619999161 878571299 735326471 717859974 374145832 370194365 641965201 200705761 986239212 582177532 307930111 897146774 620120483 490433033 482338100 601621968 714176733 694822385 575375038 757901827 840516707 538943347 482333665 894764709 809973777 402840228 328596187 465541709 922997493 678050091 207105856 980841674 879041245 469979094 374163272 504605523 121109635 959878323 721221417 211286255 419193518 781826647 503016230 657717078 480706143 298243631 771699764 416771541 970017128 276828283 643225346 473526985 656153492 985483594 288425704 944677570 846268450 551793460 500046913 756194987 379918585 101881561 441927417 860326333 888451007 629521237 724081855 493978576 985758133 948565149 216582946 904416953 859812377 997075763 435235240 545393701 651061547 289736500 794025361 643800732 363067151 109499202 486433519 528154291 767200227 694505645 169265169 550866819 175296728 989402062 329221801 632011448 976924079 647561359 954210044 154813987 618945098 888125217 285147031 979365645 697096834 383971791 355045743 400428660 217483251 974769296 525393353 905925583 621520228 563890843 145861700 769710942 430487772 950051339 136730372 294725723 745445382 771987432 634800682 788028600 409306730 739073958 777621017 413866938 470521638 323148246 718273530 161168172 556224903 509711924 566594499 977074762 818108115 476836195 575426614 537055320 851985078 887324042 981495499 229013959 190769940 478751076 980505699 115727724 685398066 540646012 904071940 390977054 737425655 571422524 225959569 882294673 243950499 468351547 803493929 348936471 363824489 907407846 446524577 401502910 511774888 194365509 612615979 726357683 629215387 773828883 759764942 889497591 926336484 895934775 112905729 238611194 946305058 753424247 328535039 557429077 587873512 824015355 135110760 196571749 607291809 649789594 977937467 771741951 707968987 353853549 525335761 277044805 283285882 968599805 884963579 295052361 387737849 463802981 306209669 295288544 938786706 956273991 235406790 962488046 475476654 595048602 283818619 867924464 448960994 313766979 277126494 257945537 773080498 643416020 650386679 613348589 572937443 116740186 708022736 925312847 328576445 983177600 991395059 964318125 235705022 905593649 388308681 174706138 179172371 853652915 392964532 990824047 337505757 560732914 235876644 460377061 353255126 343472953 236758848 121796528 877688749 435093455 893341114 131902961 871121796 934571233 889978200 883658123 413663298 130480445 619219795 398641500 235124802 762858277 340792660 845850974 429152843 140289839 900753847 214687646 430442048 191990986 662402231 204693875 166612948 645151406 600683319 581154237 925971420 191750952 993347833 474217942 578034638 347528629 755393642 761146805 477433585 249684974 231388169 885113017 733747772 217112043 301270311 618848234 558514453 623346180 523805143 368697125 789366872 488582491 938880137 973078668 393281625 571837250 577243019 240837202 300992744 355186490 271770065 662096981 471271308 174909102 673873671 603543426 717805984 417497978 754182855 168024084 776039629 397854381 728161578 752377829 308892987 312634004 624560506 648153004 461224737 576943650 662257554 589968367 937938157 295419774 693270840 378410300 697081796 376986897 677633028 624861588 706523613 334921707 494523035 662523946 922085599 181296882 191921991 162086013 114971123 810441365 376512088 490020273 923189680 130679003 176618428 291323958 330867033 180005439 380300954 160882627 561960336 186828644 153883014 694212932 724253143 580952488 478948319 525269155 389579019 719583346 667671305 262878289 426296715 259866427 852626331 505613471 644569845 289525742 826650677 772651153 558822362 908734309 107068457 835565440 791570224 131897217 287045472 843835606 589905231 494862365 919002037 416423420 121867268 243918739 900141511 119055514 137008214 706616448 155917408 227560688 178047132 392736563 975545292 450234932 426321043 441113859 863965691 531686998 961562889 595844474 625108442 636813128 235597797 444931825 222013585 989693129 160455493 466563964 136057188 453915824 705079969 968438864 644533634 812167949 441638062 235069281 819918679 841553726 569523791 757712570 617208908 830416081 317282400 845702801 590833833 147350306 589906166 897022641 727926648 499693776 469208850 407640562 867996945 485705884 656955172 365056140 580969460 790803057 686705769 576922433 850607449 216568635 702395497 537967216 773557135 205314853 106640351 235960728 658316834 724794667 838946603 297844453 878877330 439395096 713565314 727540565 337363102 869419264 747443515 148135156 179833988 164554767 861618230 786739405 143649855 972851934 599965583 491687378 136433520 311505853 217803745 725723365 904541812 750140341 176179735 600013880 243480705 798389535 473607234 433454042 950752896 493360240 577929891 687553153 653573007 961486145 363421617 282870075 122575874 378270861 240942279 524913817 509910384 965450579 950244418 317714685 869226816 697035114 673193991 362813964 948273037 996980818 158169525 316157210 806439342 694425661 819507010 423388133 194776646 747048919 928109477 764221297 141088602 402432243 638809618 966672820 894519226 216456501 879715794 974949517 844890181 152945998 345701501 176554942 824749417 501640837 555117695 722848076 583720274 964484348 265178949 647251254 381173415 501252510 615524591 601047540 790405955 494975825 326677256 659969545 159631545 243323953 396858309 914692047 546831507 154345077 963430322 931878076 335335274 284087633 716793868 772194796 305838772 282381279 908103034 448556219 255383065 917620781 897533682 749467380 671804476 167555095 500475126 789727200 892666991 622893493 702507812 748526477 771719137 174139806 760868563 493671299 206557510 820293022 259434359 775131460 605981541 356422860 314585207 791121598 489822265 499601569 728773993 573533989 709263715 156189553 137015321 224803323 366426791 643262773 113795851 527545586 951083355 676006295 557111062 723546467 674872131 447813522 536919317 290763535 801566606 106033225 774369530 757126097 110114037 482996499 895093171 392668293 786800153 428669280 760114412 976061055 660764205 669874245 407132351 564281962 149494864 467337131 277264216 512924605 875038169 938361829 381553549 832601700 581944459 559873128 188128961 468004035 233936512 108269101 408412313 869859627 559920839 631770899 346861284 489135513 257912598 189526015 668128042 540920042 985432855 395631110 669842360 541863124 978872418 835212307 474948939 329151194 903510905 105302005 139818528 101126434 967372874 481524824 818096981 190595027 596692534 650098818 876649094 643803833 289935162 873701573 341928605 679641828 153670756 677075099 278108612 893196953 989693371 745408004 314210975 683912054 797694884 163165574 682676546 828854454 147264469 518839195 128799944 173623680 789270973 737417682 853505988 657066620 726882496 432568658 777225213 365640153 752419637 307150665 318627815 154925318 189641337 295374774 550871683 723900990 567655184 541518831 217279619 720188616 509811418 369245434 463362163 229679343 558157976 186620219 199238417 813478488 233490198 711934130 736933171 916382025 847460877 331501410 125467104 218815650 284896420 535404534 623857519 358665955 537630197 928570238 483403575 459097137 370369883 384869520 924503222 586902871 425564727 816959817 746397176 789289808 125864533 827811922 906509504 141957251 952646586 244468933 402465218 942028370 772546409 957244088 393504023 461457324 594343119 811585587 130477777 303446132 449645875 484643097 931350264 914158348 202325270 357878514 718863957 386095224 683262415 159447494 793559272 390101212 278958715 492608133 992182766 420266751 798409232 602419696 831654853 717843744 541023980 857744120 299043431 815729662 715088420 634472189 358215162 877939819 968246722 796093002 345790722 595239514 619239170 749435275 708436198 921573816 717232881 958798472 408161540 853959731 283397294 638021541 145187989 510642899 403468089 771182005 166868571 824922889 110233733 288435350 569476977 130035721 882508393 822485824 456355934 739221977 674636075 805207400 762503597 715043468 387477393 939196342 477687883 906226625 455353378 865689857 918152072 589785566 379931291 869903492 523728129 357823105 432217740 890726541 916007560 412944931 962199913 822822630 800997896 245243122 967603607 595674208 683000875 229305455 206508005 690491639 639985802 711023805 724632479 512208480 150006060 485746244 352616040 193807592 568780642 731121664 644957270 280771396 496336527 120301657 932991944 915648312 591678340 707460415 843073653 108999920 886563692 541587146 424448780 995768369 573346096 419231678 151682103 905276725 624845536 292218509 629396222 715661395 453794810 119309370 673568066 399896382 995466546 987336313 278062830 513402098 642414870 983325942 118194308 438406893 393443068 516590710 454555719 125761031 811797439 486647411 507987555 944638228 822857895 308321041 819762143 192401257 842994770 677968957 345011408 536076448 297423236 440609653 930029952 271976873 672367094 522335482 850771359 493911628 466158241 301630348 543936559 558822441 150681695 643726090 104346643 472607717 217752603 666162897 286990185 605563500 737392449 541486823 801033382 356615451 562219458 305542227 897739112 229145220 468361555 767258084 906195157 295994818 876061416 811011010 256010571 971229641 909382551 762392993 811003062 701071600 994670966 652749525 883427404 176418862 821100751 176217565 638826958 882860271 558679595 848792590 816574707 875521597 109651878 565755699 880665108 633516938 104057749 382784943 461238712 252048016 598186913 369119067 507171337 918562278 623081862 179609575 515924360 661496668 888842263 855949670 369470834 262140368 879491706 837606150 850243306 420776991 427139460 934140852 260229863 426146556 431464504 788331033 503360262 104757258 933567194 386477180 688789068 565870670 997735040 406314606 963309011 867209431 990214534 765697871 124993785 343783091 528775229 768805681 850679267 124011093 905654677 475404554 278505325 361125160 125594944 453411334 155563576 558093864 862814345 992903940 476236349 294413027 222988460 818289642 761580782 816472871 800747224 752022357 174049143 853931939 527837206 652721311 579930807 802106495 394390891 440180848 312055852 102328517 696387043 753619070 277696452 775944320 686446215 587701183 567258262 659816709 100455057 657631651 529250015 755433938 393428874 490544423 212993113 327547718 473695516 479019112 203508022 152862105 130415446 668834856 595205554 561740520 542757118 732834524 917837899 188726450 312256206 102720331 868090470 860346941 396710438 140329302 690963413 126466724 421054257 160519256 410591247 852030706 985904618 333901743 379309034 291238162 666606293 780133412 197317698 429630868 227614298 439478237 589217766 237518124 192573796 992986018 655211697 595058498 960921894 459327307 351206089 262498612 218127489 790999669 558442706 836230979 486300279 722105852 512114961 446678478 330648661 912056350 691282374 121831791 537976940 766253382 929419133 863508264 621940079 910571866 286673222 764813068 301936655 708784911 117739920 686464518 652929594 159588580 363505548 251220458 306687196 791587585 186834101 890793768 405292729 173650295 598512941 193099680 137351245 720418697 557635069 988817275 484952340 809155011 233237167 675643321 634557402 106607462 663743784 780112927 455906664 338383439 315318826 401107114 524596210 146716972 204365944 219787534 132490866 447187457 854638968 775316458 912734336 774229174 958570063 654757064 695227158 927931418 169274901 234232238 923338016 372865519 610041255 644921175 707969430 160100652 335777142 545837793 411542345 875790627 878731313 752322846 446264617 792586964 823935004 458217264 125978685 333000687 749667264 839716249 429607933 347883993 644333840 265097236 129598459 406023525 320410479 685217803 282961721 240868893 355975559 930429745 722105789 825358279 610277404 378102608 299412849 115026854 199916674 579032140 399222422 823616869 172119097 367641094 990601264 879078897 711156159 297828022 377603532 682118064 663721095 153522759 960164123 200704758 205848857 711610176 989283892 840804117 697533701 120461849 503283151 871011062 346276860 829067132 893445907 174583970 545620296 431565733 656356316 187429600 976547125 268771336 129070969 981056967 677357126 247660324 415184853 604894735 277567830 236930669 178075307 801327362 778145046 855809354 469579365 592747781 657057632 966597352 505929456 635818464 362299919 994469361 357550993 192583812 373162599 805415917 721245486 623759684 868339035 323072084 470224602 179763555 183474019 288015006 283224627 344003731 214906060 541849694 919369612 309656370 524911310 892368777 937508572 138421179 914137416 165026923 138121362 446431241 488766594 380753810 490898603 753458236 583006443 443534388 505410627 689066688 668512002 481788990 488784840 664628795 864673304 626416709 281019480 588278788 129540700 917514556 505201357 885107711 374432348 939291965 931743135 412342018 883780181 404679045 492472964 287042189 255353195 139089730 463815987 107021476 504874702 285021192 925204703 375108540 978931132 526278245 225736185 693041472 428891958 972350749 123641641 742555205 638236400 954303873 692162625 366223694 897539609 897327545 135009170 794903088 959871023 339961912 226990214 403951801 924092913 670570556 854839740 725102040 660512515 610314439 623943971 986964978 196057776 733251974 918792475 397396442 521415610 175258714 826196218 176691809 646622079 861451834 416703323 167136401 357615464 649861174 158371129 266665195 732281245 288522425 689219001 135905902 354521834 374250644 423504464 900136114 855248172 315989623 105770283 714714984 489779700 408822098 471946370 300612133 246179154 172512453 696482031 429839049 828067309 216157697 967765089 168012780 186458074 932614907 293060507 483532957 563835003 200160401 163370086 367708181 104577179 897949978 568631693 632963968 736741523 959872125 355307164 848931901 503646655 144146066 422054122 780950507 462316705 190066786 754729939 228707496 118040284 968370678 254972105 560823725 113443528 732587178 947124249 511042205 295323420 111191531 718675805 618759449 476492884 844409163 488363501 671124403 870215830 702341405 740629074 696709955 650798893 265578800 418882905 798516580 922562404 210856257 680988593 844618241 434613272 387330781 906818076 589589672 275992581 822871492 715035033 238955489 540237296 117097147 549091696 482895944 936730214 844123928 183620846 735538146 447343960 904471225 585817231 665555387 172627745 104855410 712715041 316665817 978752609 192505430 578426039 827076003 910375207 367187279 842525536 378611553 508816336 836975009 368858757 925014974 650830948 781594988 128919131 456513034 627698906 918882592 989110973 237698517 520292270 450389080 131253603 103027231 122621592 683818452 540242168 382125144 350009770 271242563 932719279 796285823 229957202 924687957 270835258 439175241 335889443 312291458 525057775 392643573 375759176 546004905 729447550 597247092 246104944 879926446 891833117 285429697 231914963 742086646 793598688 368563384 519468469 642546690 513914194 917723735 425337620 249203961 597785864 508795899 888389481 526626609 127835621 784421296 859060972 436773427 188828370 784036607 269763247 629815253 634861047 400759266 353559125 799046770 935471478 785395063 759574668 897410016 370305041 711148619 921655994 945835518 719924999 111611295 822409242 761735756 364741555 211798389 605160786 351646254 388233940 870041273 856191076 980078894 127334286 364343023 956615057 974008885 507270257 890692205 831582208 891986091 265940954 285591217 148499361 182996929 748680767 978672778 631407606 246281178 607431445 224412400 690054289 443744199 592192987 825803211 608612514 835654042 472397014 730184085 245154017 782589419 321274113 143480201 263535086 956700697 397293759 372286581 360935562 269989280 611277260 360272683 715806930 101780202 296102664 246090279 834237695 680003025 519978025 640063532 313306582 526923487 844302230 419440414 492091210 334873877 429383197 774826968 160611603 123215812 638885908 809440714 474046206 741007378 741825209 359331561 313903243 216339219 988127172 886125337 817313825 446427794 377178704 406918732 579934129 200839605 156951013 424551541 293760078 779293253 386700545 258591629 929526541 103680596 410877910 191953726 640728018 188588413 161728410 561985224 893335927 479143403 794991710 468838674 688516505 491465444 963907829 443835644 762989293 528686103 101134459 149774210 171981262 648002723 676560805 804802888 700712505 846242158 343578433 665236116 232715287 891114206 509679676 169172448 811400274 947869898 536146517 825707596 619257060 947970525 227459376 628005974 579793953 941264306 307321671 732239908 578186552 875415878 802334349 113227175 206041715 895546227 941787681 462212078 604676200 435094243 967742498 112740344 108800773 660581573 746913783 632434761 753466045 179893504 912785645 395544866 469345838 734551105 220449405 428499876 963859004 489819492 490758974 677721808 573023527 298556054 664270937 224563513 150659286 775871547 536803269 721463278 888665649 838656672 946425770 131355549 653154375 947347656 584272329 411871575 238371440 124661324 131257795 507494605 341358798 771565546 961074325 494181800 751730104 863031375 809583469 951277455 972401212 611112485 412518679 691121820 870933419 361443829 250970562 203005965 393740982 588789213 795917152 451441964 212395083 752977491 783533879 227403518 679083362 963836206 765186061 600104324 554834762 650460008 104615391 453379703 499616241 529750314 369310078 144894696 359138692 916027251 219454887 944624884 682787993 211788131 957024748 217456932 555729458 510817575 692889626 502730750 407790961 893502133 688326200 196855994 564799895 693407612 990154163 858842630 596105886 415050059 371421613 370030466 513682214 707474822 824149188 837687030 114650527 516959028 925855798 975339469 543950081 877514754 612836365 532227041 417436834 602541233 122480441 854471538 472651656 445444251 134336052 738618563 960632733 822201985 311560342 284433353 593381885 962478842 687537003 823790977 808569855 349339018 190087407 112707183 401828681 129912313 757970912 695627645 359933818 378560180 638802388 562888962 110987322 474792348 116709977 440193376 641048918 506257269 191407208 258055834 945816184 628329923 418113414 969186423 632624147 767601286 259910625 305015120 730577047 690935987 806283818 284523665 413602405 966135396 201653285 303361046 806171940 889052466 717337854 666239457 937350513 388061330 314492373 791335993 774175451 853691686 232773474 899137419 688784673 985112224 950375248 976909327 655749936 729027247 727168774 489796976 535613333 238043423 751490772 516391349 538181591 278135641 154703059 283515498 903785248 783976123 533442871 207070550 100578625 821396014 250641380 494150156 767072728 309741748 863360281 993376886 112902390 757870376 862470856 917791835 312067517 313013396 906655635 931924852 611041197 498713916 205758336 514807091 285073767 609356381 319817890 906952876 542868518 347013864 604794422 893529223 834027182 220267185 855917678 230721140 614892610 434777587 973225701 488575836 239327356 243961647 418745341 180249610 533359684 261760212 650072612 991223714 182322096 413114046 785065535 603180014 341798058 948177997 289029032 431618555 433808929 919498210 160278637 441166549 530591327 924818694 644780477 464680194 359440971 956928050 115589744 624857593 646735114 386113878 465306024 895336569 533841053 445226679 698163736 236545257 150138995 389018549 533695572 139946889 370903922 863204969 946998004 334933650 428659727 687218518 208736634 421608436 778213263 889388778 800753366 197237768 742565160 431028600 577434489 813683230 623172422 505085406 646475927 507344144 517693143 564631439 780830770 930619425 218803023 921377056 372520440 415720276 937058527 589667837 250399662 237541836 552011883 760770373 565135527 981906699 557473179 988635752 334794121 788567353 517112951 931550300 183760135 711859486 859954486 626686187 135382242 246103127 512129897 175722866 183184470 138052485 812660836 989019444 783383199 709179568 914501335 557787833 344058985 108918684 347918130 544175103 236808610 670347713 190405110 521767352 506425129 278600812 597151651 218392111 396913647 320340388 408104048 743397857 856860304 248420390 481302804 653846287 568261374 672721284 263741670 970363983 547555160 368511153 613519377 160012347 885688766 640918089 465220794 187564331 642261375 673058247 420030494 256892179 408217432 874698782 483097262 540676488 731229220 408087751 928362023 871684370 170346214 845183429 230223407 980578909 468321265 101519675 976575188 417106767 840924221 476398988 644193962 989705419 728894618 959232881 354025362 327695796 689723739 287754827 631496120 292857065 688279110 203959150 313627187 312086280 463142780 845086811 128045614 486903640 905017063 453475345 817553166 882901662 193594003 786791975 104232129 273947459 969965145 277142006 756423923 292034652 969444339 424891232 832402433 897933862 667440475 486347802 123222402 223985875 820086773 692403310 687999094 840931276 746264963 688391177 916492913 826669671 657325666 751294093 713517411 196273983 321853434 977964868 706484714 543944552 653046975 899002112 867729590 860264210 347711100 751429005 144083699 851265067 180160749 848601145 862849708 680583227 131465317 148416495 285826762 860480684 146631726 949139140 141780997 300230579 255230063 688470351 196191490 858935022 221523194 285238120 742210811 504242149 810707986 971633690 393566321 733111319 353399974 661053571 153551196 473935128 831358083 131925947 377211179 899714926 680187189 978629403 103797925 553419706 759752957 863823491 203114772 156732592 672472787 332225531 237470664 188036447 418359153 937143756 346585792 623678422 816860359 672345665 507102500 726495122 574114089 262891456 715698691 572952455 889469398 604979792 538516319 989777867 487619982 351931610 648758219 915707943 756790080 241106692 217225240 125780570 564968988 536879752 822663322 120624007 548929560 812048140 861621350 294695915 730184360 390389080 352784169 700585341 790228417 773031017 747289421 402299858 350564225 884290522 899344525 363086587 241047609 945373710 462536610 760503601 246109582 329466776 673133580 959921708 642416178 518926768 467960860 435349005 893612868 139292338 324849707 994115445 277427764 851343496 106821390 361926203 223737424 180813750 610595490 148949371 858353032 872359836 650202480 524707036 225727097 977746851 269533952 797344428 509041753 145083268 305658824 472203891 771040318 218607892 471267462 677354094 619928981 330631383 848043184 945618798 743006697 433627530 795116319 904528098 795351130 596896517 794969346 976020446 515099797 483095868 601890375 567964675 554607143 996276118 926476050 471832403 615799575 604918597 309798329 918993713 130531059 183437005 681982162 564833039 515227776 928498679 958904901 425575445 213248811 165677753 929569826 864844819 950994662 850950336 126656008 187783403 147396444 465354133 214696593 815884007 706363546 643899691 411401216 413822405 411599200 575653607 494685869 557263422 634433006 971454782 457656937 632124214 793150813 733906344 136482527 660575178 965702693 928186855 896369282 660493792 528544419 211471880 237204141 769774320 300588208 564686767 599710328 431997873 723753389 235272194 203178239 392781771 357722686 619775357 673367061 952215925 627667975 124539288 206994518 628766685 143233886 293182549 140113473 837567565 898996839 474970531 141584897 847850483 518292186 309827054 357451136 317688639 458868121 879296829 607959322 744800305 499572632 487945292 161746391 272006297 483688027 357366404 467631862 425117387 939658108 704419332 688683025 816147798 528613733 999997818 557949800 715241239 683389147 514874254 426126560 843733891 822823953 517002951 104125047 538775449 422883350 326468324 699751381 576842793 998282504 586777898 228027064 748332184 506862476 355964625 763317459 210071238 170138490 199264001 218281235 623923839 322127877 532825070 521245529 103003145 820996272 761704070 677933112 167212194 595144847 896637608 800466547 361543733 712381970 280185294 309970827 531835707 325430546 330442897 858007423 587267456 811893345 503592346 693764222 311238581 559403351 551353238 568131280 246084081 538780071 849142595 203850134 461030584 151843655 398827451 830549232 180028703 412357244 822071563 782668388 393369235 171939982 872218194 880131335 542429073 117144131 416388591 201890695 865892991 608535699 551065958 425604887 550563532 449250081 421114620 360111420 647786138 358991900 364028633 148576946 613023250 641499435 919072480 199159620 462718182 371352474 167040663 549004504 257767160 688201839 822145686 242233162 749907416 363961326 272996273 299892613 992947195 332834424 394021453 736241261 306065259 558269725 381494768 253008488 232573124 228750621 628771223 984957058 820754714 762324639 957167420 345017258 997439248 688509974 673791583 734009740 527109459 773904133 742730576 900261958 492836563 772931659 792246429 749972110 438283899 972987799 185086734 962316626 623672854 562729949 527321496 283621680 286143730 731917222 514165918 592043942 110739817 883139426 223221382 953495442 668676876 616288271 296122605 328364809 721032970 255787006 276310301 987012088 213517654 949176409 256588229 420721230 749719845 907929480 911937765 932595506 465088734 964109364 478019203 460262879 628932585 852849054 755721984 966256092 653385608 698808630 272222594 747410447 870612647 315295460 250586025 912497938 483673542 770893883 843843695 265986447 215397478 692926403 250014050 763695520 160286480 389716731 773760815 377406624 979106922 439656516 550467482 442676921 850692737 962095928 657154692 354346646 840380173 274210255 908821103 814833530 809351718 549529151 985285554 272536862 236528864 245631634 290814302 599354416 898880692 388954826 523919868 672634558 322247250 814755420 554536412 789512991 145421918 936317995 917030099 727880828 346411485 410557112 150043381 318452024 870090502 904580467 695120220 351623189 827964860 284009653 803224412 101207049 346966882 101871348 781721799 570695047 461084354 879150727 568191779 909295171 676278371 595873888 106660906 834089001 708072218 933529151 220320454 372122911 548623588 656918997 717684460 473000117 627112584 238193662 299223874 281698386 298778093 272930646 245066864 273433746 979917550 211709995 374940188 514638250 679335911 522863996 520601067 598643263 848505489 718718935 484454665 739503059 662341754 938922026 906643093 862771700 526284052 671121084 808944864 879647257 789031189 944308198 855696804 960642553 802320643 843004278 880516328 557200556 586546823 696629391 766245946 427056191 897161781 234589981 942472809 132103034 791175866 132347001 624675066 407973750 514649532 834023155 218506347 647472558 367384128 506380394 985889111 714776482 237828123 753989741 245030240 994744240 675289099 965930969 369608697 215954665 937496398 596792561 207712974 764494088 413775765 939533734 911377295 430534830 895708951 536292109 709371249 670098828 452461869 640547267 269317781 835237394 942950432 211375542 300619016 764476763 407212894 713983479 454068974 683467147 679465563 940916254 527341209 528266930 442090257 197648035 583090050 271068919 461716230 861753250 107615154 986078315 649401168 448446696 971530559 918833797 527856858 903328531 993672894 402999234 303231599 705910345 537214933 878592320 138560779 581483910 222565019 331041093 804227396 803104556 612390491 922365738 986286586 509008650 750178399 820531670 970770736 767406955 218276574 346126378 897167074 407940017 513177916 302652883 273083076 412633201 580592439 681486775 419464484 152606924 967959183 926550687 326520534 952096574 296036310 482070131 395188759 768530052 326190378 721678265 650308834 241570723 346866120 865815511 923239058 500844041 421514124 712714165 709230981 833092380 982095227 651452944 297701198 429405758 684769686 753166472 386256354 928692642 296579515 183821091 365161264 496914376 395832991 495909045 963013298 341359749 807005126 135486686 283365994 252066032 839535409 222624514 975443646 261383796 695787588 565065976 229674017 677145291 292072091 105954877 495983698 530880838 863677809 691090535 112457004 874490327 471918067 775812270 727685196 634462356 503350972 127492792 586201598 255820595 733192500 873688726 759164761 853936615 698740198 350167442 549758938 415266790 317736177 258852765 159837435 384671447 635305012 637275389 431569134 540616401 349502096 581502813 407616317 888392025 419483864 349049480 665501202 701496260 960935609 497646199 767137837 502983376 584233681 934480921 501990479 252505740 218965301 139327569 619081204 997857053 371895661 138754830 271410324 914236820 413171527 204759624 648182142 447512533 363479546 481392894 194138793 260800613 133087835 340515798 525855070 950911893 361851413 390561504 726383673 515533748 508747540 234395512 283711251 341901187 926389961 711175403 641441067 334379657 990377338 523894572 582865096 563519433 218369588 183146378 207378492 802202296 362584127 480256058 721158890 377041052 266180560 472904286 692593330 810259397 320511214 498968669 657109390 205058247 483278449 342473679 342960748 832360419 549806983 894448908 765264809 458338283 418503133 523785807 812598955 607893180 586030609 395493778 778468830 594342202 365102305 173591522 577316655 929839732 832790186 853567672 980235145 684249491 155395010 520047884 345820832 539031411 313189632 814633617 351863929 225860919 660798040 448381319 230501513 356313698 726092533 802725601 289499485 951360856 484615296 919789880 137960729 255649180 270511298 915727366 907449892 134405157 352951281 300690202 783741697 741550045 915111403 278512273 788522418 898076592 269527858 106986023 578560861 846112511 225695310 367339139 947108313 395045241 590774131 240159065 370762019 325921122 804438291 195703091 156763746 173720007 472473707 520441276 241197218 957695145 494828129 553017599 961900408 791313820 699140382 378565826 666552969 201776485 959117909 376343595 974978021 971407470 171898665 918245281 729895280 998106019 500562602 367676279 639985882 876828571 424675455 328672140 886819194 731368137 117422585 459281292 250929867 251859661 412980984 623567167 599149564 879541031 145834628 123245555 651711169 634239847 367172405 441547175 824475356 272250932 815907403 648968379 760514047 715887616 230839116 811357990 826689943 339063042 256243089 882624025 401928553 245443467 880985986 364892621 235909779 987649630 168254906 900924945 851620091 618941427 579448303 311622984 530453828 415484037 719809391 382393863 182719410 285080300 700185152 950663849 220453546 932552877 972574323 871681237 700182602 443224032 739146171 111034153 535101715 315689985 554617663 224850938 196075420 100092815 851885663 681009837 526105309 527977257 781003806 825888063 169991459 685251654 768378997 147079632 393280339 234463438 469976978 621164812 146743022 206782050 836706721 615142309 240602252 154601203 116445548 283496387 838377975 883376580 834413827 698525102 442506189 651233666 785383140 566373780 734468423 800260224 487719108 440655497 768861943 235843583 764396439 249690071 257785997 470500058 315705559 691369384 263543480 366024699 424279498 881683566 900177219 795326755 901272738 182977482 820180204 995671951 785473418 326002623 319999886 474229979 884459871 891800345 899765010 397709103 502165534 826656584 326492919 684495301 242735462 996314776 195346040 659009131 648051410 853383693 813268692 253647060 150032024 169251105 148088561 684856593 140208404 148087147 361716485 540890878 839586251 904691322 926977680 250481060 448295791 169749730 411529769 704222472 247193075 289544795 858163987 655949368 744136485 627356672 724383933 989899699 178961702 600392839 136802566 996576917 537038613 910402980 899616860 132267308 241444903 847045596 319087126 599509834 403647800 249054734 216563681 157060478 418097306 131691624 284912819 455370621 263591424 898469891 616500488 689674208 685033643 853336472 611652986 674429799 906629253 604107375 421312198 688665532 918976041 501030861 640952723 666482563 160455694 922426598 393874315 796913815 796219785 412924664 811399467 549754128 192192262 674286423 520387263 743094298 466850585 173795342 462900756 857490598 624462170 743151838 182577561 231311473 407027252 542681367 914855767 771873382 365787007 746093862 783748502 454856658 142747676 944587038 690722667 859994901 233775116 387690088 196799842 402825095 173856640 549288032 755390541 818880955 275946367 142907631 857310777 205073978 576786780 125505452 692591492 668209095 230231457 732235859 270531949 636163226 646035693 126284338 531445650 992781444 731048842 851650342 273133889 356855274 402803558 674207118 734159877 955703020 956644634 140401956 826766343 808234614 839523899 630151390 516133546 817165056 247514919 330462173 909843687 166216046 554180178 911091164 753408882 326435653 945098894 222933431 592720079 886151592 300025186 489542753 984352455 753678046 763562792 606617658 212369893 184885094 951713276 580775772 572616214 807389092 553900976 763147758 817265700 939143857 966023054 151637608 270040314 968554776 600293950 611704220 564542933 384092489 703246179 114417599 266228029 533103233 497479973 117673161 324695987 340960630 278334530 996970188 725094727 241978832 282130284 853514097 723789428 357829852 358458377 696382357 396423237 506064325 801288379 314339411 557626830 359729390 449324901 789829362 507633368 454598115 574761638 217061399 289254653 575736092 282480235 978659570 986900300 220250454 527492192 390836606 913844503 974429728 855307033 390073541 591297580 656476482 998718136 827952426 367728957 682953574 497834298 460442465 910305074 815137014 327313659 574368342 678176935 217810822 960234491 578932403 552017378 455389809 995681912 250612614 836120722 606521494 896227719 233753566 443046393 915771895 537348078 794313071 849107688 187559839 239444009 382628026 957096645 962395079 215063818 757380211 144821535 130521975 829689353 274381923 907414038 225038092 781227274 655955821 327391077 781508801 927730256 584675200 586886820 901284593 969171341 391119278 714890826 531194373 119202595 783391092 628307592 359374096 124945737 450486368 296782422 294884568 580916612 667516624 119649603 545870623 155909265 497047965 157077495 707517802 327862107 208468905 651350494 180701464 187583162 597224505 952370119 970341079 338999831 100225365 275723664 206057061 675711439 435992414 500235479 279621159 568275857 299896720 216253479 417348175 181180283 561719256 306301534 609558355 606593430 346130967 124027195 313097217 857818910 842268203 171018881 748086581 686108431 415787362 314520616 818713740 664995783 139851672 316700860 684192781 800846485 117311102 609209636 965910165 800166319 657755739 272107330 317599647 404585161 528597746 969381914 349678643 106435404 965733554 551790318 693672857 646580088 831281162 733424069 100715766 367112469 383887679 236120788 984973768 935072098 694877830 986522352 571110917 916377811 429927985 110404001 833963582 320597667 653957902 338795798 902351085 313150182 552219745 677687741 166357773 526557176 214200545 908458606 493794041 940468726 821410937 248361982 958093873 855628624 573941639 345087432 864069015 415585715 244884257 195617854 595402356 917189863 637459919 362525493 180917393 838734825 963159961 510433632 297702358 309773968 358838096 761245132 980128006 992558957 384529968 845758824 160986547 989116192 945394459 480806524 135982233 432783280 807610699 700286261 471313493 741677934 160302542 719916841 251912391 817994358 734636602 955721583 955411050 749782161 434466135 941520172 290772454 329326852 643466212 184389921 788861016 432523224 502675535 741410465 527320129 315729429 667986216 660716286 797480055 639345815 732004139 880421460 697796066 805086800 928375145 683857774 827466755 706191427 457920184 702222996 897046737 506687426 146461925 930552726 696246175 587138256 913671531 812041900 640616647 322627455 858825058 385144508 791849417 318529162 485250162 159547242 746240891 696141072 230571068 606788322 818709613 318221775 404326480 830633320 524567638 302635421 981479043 655330399 687004058 452594068 274784954 130299759 426607507 113643624 179688579 670648043 234639382 641067074 573645578 720950042 391996121 404173007 944454591 761165291 690753768 900554370 649311202 156223144 592440575 597285403 736408458 249359360 937403299 116853347 548719251 513084546 929928276 385786164 737268919 183009646 517543428 405276642 689924759 157008686 600845885 630617655 232510497 360220630 775319662 687451004 342338379 525403805 705645594 988232335 633945628 749185591 489067186 999907198 451903896 485766628 694571884 113082796 923675315 923003429 980655880 204582256 338336834 977932649 347514449 740253241 992940106 458640360 232264745 697453069 273790647 787892258 420286636 911756302 236879716 721606193 856838054 230611212 674977860 791909012 315715523 819689229 718512137 922889253 732926491 223274170 618993245 785237021 809708911 935731235 249644292 343829884 817968480 620802460 141277122 379063882 280547884 905092051 590811979 931078477 246209525 994094306 353684948 929200156 335792869 365520399 609098299 109868352 159838619 649496374 326928376 218025783 812038375 761750066 649277004 439459705 901372750 453569003 765637929 350381583 178890559 422504886 774338688 408784752 816173326 871759741 776453368 383093221 570917806 239939306 453676732 588585538 637183674 423976977 569026460 325276261 489472953 223596480 543246628 906730614 881976332 959193976 622217380 135344956 350410479 538913711 311692637 215429457 433894538 563065688 836995831 806883797 466138835 530652093 303673808 111449771 174506978 897135880 389920809 668523356 554242642 328936553 151544969 352588188 916429158 131987808 632571600 570530237 449182583 187829137 401310768 350859520 164040684 542846644 892644966 738883499 419732746 267695331 807623850 343337680 439616775 728307992 704160132 696036441 638816404 706702470 801728752 810698591 431441555 739307024 354662494 554526098 468110874 258861435 351643712 881306076 315416534 775217057 702679079 477846513 925371225 554941360 147698148 157409059 955911240 622502636 913359770 823809984 570898828 239930025 278615646 127290597 281128987 727318694 825645073 402973692 548907407 787615823 601790159 931425123 383080437 315409462 601073143 932298479 318311227 573827192 156168296 535970120 842244224 736104339 172825945 128162507 166048745 380189042 512998829 664505009 587670838 985550568 866405821 829211906 747881145 697687946 533719371 414367795 962340750 815350477 682757487 591568225 670735665 217253646 113940691 411112678 693919146 281116391 659384321 352756760 454599073 736314950 965799116 946843773 138961021 429323717 959042448 184144557 981419078 588839925 268036617 258270943 768511913 140821172 490570847 374372256 458127905 612271457 117328651 629356890 733543859 351188352 935323618 628733670 736502224 344773528 317451847 477255509 308961150 616698747 332510316 764028314 147341440 126862825 515552161 563993759 489118180 582455084 187050391 496427991 939573091 366992495 846542938 950334558 798937098 710995635 336868558 207641608 182271114 280463652 582371976 996920144 571580032 702370568 257410049 100016602 418194870 857401328 427384527 793201710 880824053 976430084 727482682 388353972 807851556 918294983 644054706 560064821 631277442 468759023 214200728 657626780 315559560 131967535 835508634 888858617 353741692 794843121 558299214 829096474 267032108 717520565 832536201 380536113 487280770 942021016 262782219 798221147 627447821 704814846 614423599 953749373 748106337 706046215 512848583 921973270 573619383 754454172 918227359 105864605 510000768 401843251 355393686 304267142 112313642 684345255 174595655 461659712 929515283 901891625 127348440 473537269 368301792 945632467 133065778 830278704 161721084 943179000 832937613 721148323 242817682 240402037 607156310 706230211 511717576 110801020 674165815 162802771 921989432 775206773 593597398 238735171 342063144 294803583 256169171 837048133 930961746 600488523 526285967 387834608 765607692 260408783 519889359 390507328 635083826 159374849 560396650 946196130 134354243 760184112 803028831 328023550 524391859 546847236 226278742 433285773 765573118 787198501 598466055 877747376 792621107 737437853 588204850 320562575 615491203 939764818 585676124 349939632 256171644 962448309 747851491 947245107 960985454 988127402 955566752 368001427 499071797 997170233 153566550 446947034 897002991 303601401 792928657 891215381 446446625 953328883 394561962 332863683 505875057 302316551 861248184 558296706 744604165 684624347 372009006 885668145 881011630 318551344 259363781 256678216 116741334 781132070 680054471 626024282 618881404 872685037 103830880 750091444 857112508 802432680 731751287 116978255 645562765 878966899 497082759 890546986 843077513 900264366 559889992 221950407 818413909 772080579 387956693 949852934 443994879 346873568 619837939 519020954 956848730 511698047 747874881 910149122 361986789 175433205 858652847 291804620 834557973 599710177 992124549 448191780 876607505 458598081 816205019 831346474 715457145 386150092 767902693 221998705 656781232 915420348 882717440 617293726 586225557 204111137 450314188 178233987 638030470 712497232 595412912 237357211 946538938 877345271 879955487 414887052 998369840 182579514 722505216 786896319 596142294 112404754 460764104 373056911 307823220 633646016 936905406 208654912 608903766 242175603 761804131 641343050 658096788 521296957 756729785 225616771 950626320 114779307 915456192 455417220 928670209 324873988 631362801 936093418 642625316 590096576 605981758 561206879 849962073 923743909 473923401 787591570 192969227 710814478 158683402 521609505 585883814 248779610 159177188 908433252 102928021 607750054 673375838 549064111 293361682 360462142 839039859 104182229 376607379 125934231 264295833 132730690 794105079 954095508 588910683 984341315 376946507 385410978 638476422 131191829 850504566 706228816 375886268 400097379 817142700 268494651 406102039 539583108 969347917 126877039 477140568 694489155 822272763 553099930 736849760 200764450 455228498 371913879 497913027 320738064 749448208 271444185 853855425 354268888 363124607 804620667 869187575 776881193 716643500 748061553 577652062 676916015 161986102 666945211 375162479 698506455 651398492 667835196 417433699 959503081 976704207 984433568 850050811 862135022 476882020 556957225 216455520 865296953 761343581 904447752 823935905 831934364 796019175 856416959 617401678 509734618 859412384 513287733 128827202 287712609 587284189 806926827 356610897 446214052 277217213 439018649 956607617 145167337 971014979 659266329 880155587 529203390 721916294 775329744 526391762 820190458 517434382 409627109 727295109 287499653 757060738 534805357 522032343 901428006 755782538 686149951 738045245 950248082 999973367 944248106 903246520 906103838 123126869 452542563 669166266 971417894 829069207 218475624 787897675 313108269 786309480 478830431 391335002 498654732 643507897 356784177 750645951 737514135 789449371 474366931 595850527 403311403 798803221 777211733 752002671 349959982 707477163 276126537 531400134 922959284 941430255 950824329 585010663 579727779 608895730 210138303 870474257 303989320 624447021 969586744 457148660 963391142 565128730 658540541 661312913 289568716 611014553 311089531 522367152 612662654 127181128 398241114 335492036 143970922 668744200 639130409 970561992 282422414 599885275 157005172 264549684 613600047 584963404 939898173 429737149 769639683 942764791 892113341 298297965 596322697 495413945 916411852 663869684 736989708 929601953 926099582 567230017 701630591 951790596 492160704 844836171 392504343 433714064 981187890 659690579 575192944 277573354 229598273 655256779 633629403 578866576 641876914 443766126 759763028 171831218 686473422 645252485 290758030 744483829 627258781 278644390 127038279 119169409 807809480 605707089 879716100 846057400 936592242 845918660 790589457 348121679 431346970 630154030 305025140 659730984 928759882 511029086 923399464 738466778 201461891 293698905 626406023 387103025 902260838 256683872 787694791 799999499 691828691 111491425 938125909 345050385 464386327 267985256 556418875 668824304 766342619 363638598 641132606 572551403 529188022 418712547 902409051 989644200 876669253 115423302 184975951 896805499 517360687 852382708 786279020 978815923 766646442 583144420 129802273 701225800 374520153 367806303 804995091 999458942 219036769 570379812 767725620 291005536 841884071 418560183 699851529 916701253 305616103 634460715 237838492 773222222 511537885 142874437 182379933 829747248 984260385 175152198 229087563 330557722 939951904 973322110 438061382 840087285 479102592 273984314 237662305 895128559 174916739 795558620 632726647 198078511 406926125 432215101 683958283 201908799 659148175 467515898 927356009 248256957 210581193 539943854 614021473 423179743 377318696 459668032 681352219 892625601 292105101 137086502 896205056 785520953 624415942 762365423 520672232 601994447 341589411 770426355 923385056 139110931 591754855 889188322 464464852 117502664 940102979 342287015 974338342 158333223 455101015 848329516 974256305 466208190 135091526 790818052 772547429 310039394 533269229 447310200 497421696 971567361 503693075 126433923 251611568 815105721 322656067 692147646 653314329 398658445 732336235 372882789 890575418 203104040 616736361 348834245 987516398 729665535 928410080 150028258 721410479 660542850 179173968 145821852 676763797 486224667 908196970 442746990 376599271 248527862 747379749 765589550 446861531 885230959 152519220 639710861 934588781 486800196 569669780 489195412 702665624 239271634 609170550 244149449 478204015 379874474 575786709 858612560 320635601 580606220 550959512 498520520 621520268 178504323 910159285 939777808 108261193 703026935 375890881 887854941 474630887 114214106 648386798 463075375 559311465 648768413 234960746 769661642 595052946 964347018 627703877 192031495 618826535 462618364 242415124 823453941 749618690 702145375 864716636 238506081 351543710 509376325 220143941 375792550 712278108 375263335 558214855 121177909 680759800 219451470 296889652 316936057 554611279 992141484 231700247 318604890 376250735 259195510 889426695 566384837 172283853 901484589 279032260 816365759 274119247 588760815 166211635 121351095 161649586 256937555 887835383 213881782 323869247 692434973 261247783 844659890 874230900 297666798 919770768 983113928 380734567 838161005 668178777 218292214 461290779 661811060 269412398 464792853 719399712 275477413 836268553 297032580 735867336 465632754 283252913 873941559 644778257 965018795 307587646 667520221 686992867 369739815 918748496 152631382 735131883 940424661 240880091 815733170 678905706 931936387 575227599 471146311 437730087 777468232 430032088 265931575 878363248 844611182 205710726 663644692 419084299 547990670 785646148 583674693 452779424 657523886 429831464 329240679 521033320 525819625 266496580 888938416 853424319 396718371 454096606 404420548 468250924 301478877 948863916 556301284 674934411 383876408 669475407 953640073 358993076 948297405 943885765 863772865 926327689 764740313 197532120 409109575 843855804 569991951 879294987 223938888 939973667 601238982 907741770 238532623 601243100 271628706 647539735 489874914 483658881 603128232 924375546 910010914 941480290 466960313 170860499 905225378 346611686 680190612 357264086 110903998 763154187 902304636 803592831 581515997 215180427 374227570 794051783 440300180 898587023 814014135 605425711 915633511 695410595 821199397 188654630 418923154 522557841 983754942 154754974 483944302 334536820 952768115 793795229 346268220 208096730 864630999 310969207 141488288 460861050 461133159 836427131 636548512 811828635 860269651 864073145 451927955 340375364 929679930 766922647 794821740 949131459 684160766 599404049 458781422 642857815 632929181 137665761 527315863 215794919 442539387 572984222 446936469 353560765 635615838 935421912 285085193 411816408 889626114 420537235 238247137 910245818 535705329 535514507 501012446 733958824 897069066 847884594 778418529 522696225 759565278 268430882 702587212 541276484 597447117 956272576 461314472 934302619 342178489 485593372 214811469 914069325 485553701 731218723 122980044 655311707 179791754 168266892 580275371 383728593 871634865 344820017 773645292 857280128 172682475 726059859 880085299 708567788 274751451 316889261 760244246 558096704 425512089 747740256 705496759 823501190 862405887 789267642 370854743 306718844 192248281 925433733 129630377 118183521 492361702 414611673 728048835 457029467 328418171 978548872 252862080 519045642 844234598 570719221 934088979 278166134 544265412 911415941 597854281 109681538 328236841 666481020 450860097 472321443 233307469 671917317 595344731 111295989 117090104 672886790 895579198 912020719 986797372 595450399 312976206 324563040 392041327 711522803 653847075 996116091 222489589 238930002 865152331 134501256 622209155 229351320 421129604 123028882 531002936 726201886 100593012 753781490 607354149 712322389 515697401 657926243 283782010 512229414 751773255 517608205 126983942 437083529 242236202 310261238 703041228 288449725 203959194 739493524 625814503 134870189 378726250 422700133 146710150 619363445 543632436 891220563 793292017 251473333 553637298 215462180 970503357 396045453 609424580 908295290 445064863 321003644 104411094 644822890 426070362 506733598 668966104 992823850 741279719 686750605 767555822 903039328 604044725 688749978 326120543 201674210 111929756 743562403 538896923 133817568 101572226 116744228 273998470 997861644 618370008 827412039 405705212 160435549 802690749 306484643 593384514 471623174 720457027 951036409 686248573 727960186 132833895 543820123 667136688 962900945 124116313 676033846 213988148 789567898 933790952 563981036 719098763 600285134 735456474 981702964 470467030 552779307 448368140 818461574 226330080 927250350 634117580 195063652 942849471 497719986 314210005 418042311 634150113 149431699 518006584 587065571 881963250 958825332 517566085 688746667 959655155 115094576 104620902 169002317 116922290 717457325 112751817 301327279 715061163 528562582 296068536 399618219 989516557 111024166 622356147 592990650 577662166 375806846 235347876 440533604 355706482 794247892 293022272 987932043 478523691 165325242 191020248 775758108 430904183 615764313 585377864 778449801 233092935 830331273 542650103 798415153 684616007 499624908 906590767 895020806 174676666 312757436 721899063 221733531 588769404 649994912 909969261 592504003 963147964 409550949 555138499 528775565 598987405 386370357 765399611 667656955 367107218 879779083 186770953 538681608 559083801 272597931 541717483 220161156 835628374 781277665 490897978 303129524 992594768 757767445 227591810 298508176 928246294 109425620 306432892 786628923 936318997 878930747 442576636 205856670 550958666 273927820 858450547 493340084 270819240 241571940 442832700 640539936 353135999 986439013 707563040 374166692 345818642 811958379 448637472 142404414 532331999 692256094 163292201 493479569 794603364 704767959 177749808 681298488 983757908 792600247 394919596 438122578 541655008 929448122 670239075 422138499 712751615 535606316 959484191 891074095 375759776 395246357 743478480 861684458 674868300 465180311 905322055 662775148 100283110 121069660 681186559 352524070 468758004 678400666 330052834 564247053 231753687 379205927 995942775 738113924 885492506 727819877 940194241 315780505 102061027 930055372 482535308 311100995 549445387 579861584 621056658 246126278 185210402 199313980 509597832 527979258 913577628 602844666 944561296 771440539 946102343 277542940 755758568 879994700 971972797 567589382 197777926 908887486 633383503 938655153 855278884 258934605 176335702 944130482 343723955 481201567 820969222 728913257 963012398 579398738 377135521 307006976 151100740 447285922 927872788 741521719 534861659 927398337 441981373 317205964 466326464 616773309 468713292 404446408 747702571 555560453 359091451 986097129 735801610 965451551 277357032 638385300 449050550 348187121 932323537 722108764 588642838 734139576 416751363 839256412 892913041 846709757 797437743 553460288 526380595 459414353 492424217 253726790 661208841 934994907 391472786 547860357 912479933 476512295 113952654 878609137 340628349 159649086 938278828 323965456 137351424 217991288 321945702 725009168 736130327 859587848 660631810 229432600 214824929 950056298 838795293 417585739 456025110 477539637 389262125 762186400 894848684 437882765 107559453 451776326 331764746 207468339 877664264 806934988 538393097 985026936 128107047 738395723 476213640 173970234 263505619 185354548 997857514 450268749 610320048 411730909 125722427 957871348 965143874 337199256 661258299 216723788 580502935 799850169 973430949 100457572 994603850 345227746 535039429 134898889 563594350 216249919 866742629 252093211 352171796 800246370 159362322 286233008 716866011 460611336 125918632 371393666 793187459 501208226 172180309 599490115 793091269 332457868 880218767 271907784 938204698 847708600 567107286 454777911 249246659 439305325 802875301 378582751 183252450 792928732 851015765 420978382 213087435 871497830 970995703 927144680 992103574 473702638 643197900 734476948 131968617 329494587 528826435 206329326 762039946 105218358 770772375 215773298 836732781 192611489 419632419 133600841 225839258 611607043 121397489 727954563 793739186 488339059 748799955 178044425 669128237 917061591 549238598 686965018 840492425 713678763 193717343 893252231 639401327 570893443 223966562 401807806 217336532 207863635 121893337 385200992 725822181 426286968 870409145 603538448 102684124 846501337 382989435 989064583 993517337 649812326 273040361 249648144 431350589 305030803 569399411 842774777 697500054 853116742 317589507 888387427 318211661 271147137 580084993 669356404 416318211 878389141 868313829 807855262 480971905 823485373 462242272 268094291 557529615 799791664 838268835 538336200 454193120 713256444 942101486 560406715 363453847 902854558 548321090 994350339 216565607 838108450 457562339 542012423 142393428 730493550 806546682 344824264 818887979 636420508 110480111 240248059 701989947 903810921 623709250 154642815 231052440 241047259 450102167 118273797 844088685 227473811 456935583 776041079 823076177 803423357 710629736 537977185 678849110 694265226 700458633 264296308 579092290 905866986 403835424 289663432 549517527 974064440 180666393 360100983 937332247 690512149 217629362 481879955 122300273 355632717 788975735 474318430 848555523 504335194 338281472 741060858 180648304 303452691 457064869 958411771 474674753 971329001 423731599 362631670 950850334 220628802 562017783 248952377 172637364 249826053 524560559 736794432 344187608 411972313 565633041 967497763 535012337 417422661 910277548 228993747 875299282 825557824 713310783 369349843 947036934 608931586 632975833 893016962 837804486 749299524 937381391 999875500 781172901 605247200 942818133 467581026 514305858 395190320 305637689 379219120 582746581 853560858 537658631 659173349 367317914 884505559 235418472 130541675 826679653 226571203 100843099 646928507 232336834 872150948 759128064 689348394 674724992 323912987 998280963 451089882 346552639 102821816 659261507 851202613 283100413 822400907 400797556 855694136 544081492 602605957 879444436 614083440 434869505 814911168 821411852 877303755 718922488 241480647 103523342 537815475 653574444 770740415 313543996 281871398 375824516 632684842 300629766 180980345 181987013 838558894 203874084 611282729 155097382 864405368 560972172 582782776 821562967 133516277 493214421 759477333 730918164 116660832 429796086 287510759 844085558 160982071 661154361 392812785 627857123 831335714 354704583 767695078 572707360 279398781 987715437 404271810 281063941 445554137 215364531 767068912 723872331 282846826 863176377 753969946 994400239 782290429 564696485 973113700 863690590 834793046 195575071 316099066 629246553 982461331 627732912 250806292 102589077 879265586 955726621 791009679 367080151 751217921 309850657 523868909 507655741 718109799 333508329 425819299 869833061 621788236 827367940 141872014 898862408 855609680 929981096 215823425 369115331 310558513 106973808 562984150 454649236 865801876 788612705 684353134 640355650 421809288 390619366 895546252 524033255 390378887 132767206 789716800 668284508 372508557 100348379 414447276 105271235 118722982 456163521 988600993 311619073 327929716 195965935 458348365 996780298 595429958 129582454 553504488 310693995 443632587 264753094 939378856 339957899 159990503 420180976 215376869 342354738 332393801 899631968 153299763 124403093 124929201 146681173 506527154 756939955 162615511 263980150 321508123 292235032 964772297 700541809 377019389 807849880 298257785 459741035 722232667 993349440 646304270 920901027 567640595 794309733 671132521 214549352 974114503 750074132 903406819 869300836 267713020 671440597 919531514 843909787 502636226 407823567 458645377 537646837 867723141 502602997 838039599 176651425 762830084 734143160 159273815 389670565 425556069 482235849 360682862 866423145 291744799 732982685 684822579 640432556 709057187 407509839 898479714 453392202 291820792 439011837 876242647 280889730 248557914 623941429 186118731 903916438 781667162 373045025 900510757 877355694 503452134 397773582 709429213 830812138 778914038 151727991 564380875 213841894 696186769 366203828 706330691 199003127 742948666 376844152 949401186 186405547 593891545 158178015 809817120 606452708 109402155 442937519 955748155 367038260 157916525 675190697 783299992 742885796 285337552 389912159 824763404 935330102 236065502 676384754 671400148 173042598 263594708 802075232 936230972 291290945 636544239 117855772 655770644 960257186 649679942 863129735 573597742 915534352 383458516 615644764 400303295 237577105 858275546 493973937 595382271 712269360 825920996 257510581 632994111 208036630 659416250 818669344 406701029 585504595 993568294 556227825 928661970 856485653 499210598 707189030 992518972 837889468 383699419 680337854 419637483 724096029 606741895 172981599 503000631 406597021 952445986 815994973 693289162 454535951 387777464 707091241 883158946 596525173 674084680 804698254 731267522 532433137 725229051 667025005 655883783 281882755 168066782 366781218 835061856 311006518 262401441 831378813 223283526 465807601 197886984 358159736 134690850 391372901 739203663 653162053 923860675 180772546 209114331 365948502 252409157 588159046 933521856 319523068 680087010 458962018 593708059 895883435 414674804 152123427 907021333 548615562 559250078 450746626 971480666 499323375 798754411 971941296 735217666 572217756 980611980 959065863 410477833 392940000 767775175 860260520 381027926 211061219 504794650 729640356 721229371 915593837 300758852 613885261 780096574 956701119 807986457 370161277 298170436 429484688 511304081 842502788 946653140 259474394 311664355 279133520 544389762 403839108 747234773 565426988 823737781 832071186 455300880 694229132 295311280 304147058 243016310 847933210 160408199 433064438 670783439 413385863 652185673 109563893 727127665 458438694 797645632 630960681 661939031 560246506 793648120 741077714 938516368 116047559 635168810 125604647 163239893 115531468 879549103 251476118 333234665 227810835 546669318 966515185 235915743 252013327 495710984 483772860 465186043 950052695 613974867 905549208 309197692 845783780 527550572 597376322 729613785 340306771 461604349 136191572 428749651 444974226 627099637 206067991 947002023 681186929 282923914 346497424 154193050 331667944 350140235 385708078 167281055 827788680 997780698 281754769 474659919 442285864 895090903 341380275 220433129 569860630 266750366 451105223 489539248 114912181 803860906 348931466 579217542 983826793 154679380 901554056 452101773 440332293 192661773 325738800 243334247 927216867 185280770 527633899 746242221 733620139 883685458 203818919 617733775 874268984 285278149 543883896 245231791 611365853 267932209 239487367 524561448 290484324 493650452 758017351 737269691 182785059 262608766 398978546 820816970 677516679 190136673 516398085 911860211 248618931 632716394 778771058 978593684 502953349 225686162 517391416 303205345 456177619 997986855 956114810 130901074 204285813 619051724 548861903 279977292 166298326 534941724 274569969 307460348 752776968 305198319 412655511 759033376 586384436 501546759 823078192 979400530 812122503 238972470 379672757 558204519 934358825 490029748 818182479 954244393 853974244 815000747 587594487 796885926 901493833 351079551 906075045 221837553 763797951 725238070 640636374 313474702 699530759 257843305 656736758 648939699 407143120 601338135 233164645 104042881 606647778 391067107 423532853 781999237 442878879 726835167 454692401 673555496 964638878 947224231 751841102 497239716 466769795 639144915 602994833 366614487 433798164 237635307 366793839 355301113 129350940 499717379 130720432 798353774 240728517 225458766 377911897 772499427 433641457 935017479 507713020 147039515 640783759 119763637 763885101 676262993 390703515 810043504 941852846 404330883 988854460 150578164 911962725 989859244 910290989 459269603 188625612 120550768 911490203 763253593 651093236 699321074 800044679 854873275 943480002 532158382 378796354 126090241 195717099 260207998 108082667 591990140 972373513 550127665 712768519 371767447 837749067 886518604 229693205 457338234 731396658 903467269 108515181 900273543 416973488 738678899 309470566 564883748 319062900 778602539 460518412 303358029 196597427 368171647 439775199 807215644 989967830 485231920 933375804 890961751 771108613 775565152 898171202 447786458 254754027 238701732 987125667 751352333 857664957 698319710 259225192 891497086 462233835 649832176 479122827 894398708 101095040 970658845 587597113 280160875 214873099 710858106 170042872 565044364 373305800 513546700 900224232 957091297 574428977 856673137 473834817 547573796 432854679 632637101 426471826 754128221 561594791 512127680 107340592 972713551 968820613 781831381 272802229 804735996 499843167 161652777 833058737 802097111 802196397 697807092 967000464 764361787 920983275 405740733 592933721 778550844 391667778 603964750 942144428 206852455 218157154 921526639 911622228 492238110 792664006 866591332 618081020 556363570 661557379 547211195 911164996 723632365 254960371 290751935 612023959 393766832 391262769 481425264 783363092 253690098 266143493 667623627 909048112 475978116 555456509 148353419 479461999 641253552 401892310 164414075 802540233 227846968 690814354 280979788 670509686 487623566 905833074 473361794 879140540 462406085 334838529 982889960 103910762 384824316 392063521 759807755 751256330 467034582 407313590 830430946 927694025 825891941 384673364 754828927 554366051 556754843 808818791 932824630 254114448 950224176 995088649 849899286 155111717 724706900 935013423 758777224 211043738 391099616 788275968 607724914 711934887 657891503 243892900 445035211 477684133 612532040 822056061 749318890 453182369 802283584 463464058 951383104 443144554 928002974 817596340 649414724 295032280 887347820 152123810 504221553 713606502 643947143 311915022 178152360 138276844 178278269 101567334 945182492 126777034 428221723 608570489 775669563 869344394 158816113 668774485 496641288 480373103 430332319 337511130 578748557 806974665 391778191 869087139 288178695 845633548 534419858 196921158 186356006 555508218 463281719 516875249 230562104 720796059 881696308 642140022 493840029 146637274 547139456 701989822 906212504 376130794 943206482 925567723 894866427 372320371 874742374 461935519 631605210 312749906 302489203 302656003 490296507 289605077 696737663 261045431 996348103 419225386 381719861 214177607 775547467 545804432 395076219 989196005 662203994 435647247 241913924 371274753 751673969 441147993 882989708 277394219 203538686 706444583 788717736 699366420 917683115 160408555 126934577 649441996 352834280 166159100 796667874 323700622 693339676 690498489 927059551 359183492 189057772 916231485 374006724 264077067 284597104 413318867 495095087 198613337 994140709 619182181 801936732 516188900 976788026 178189763 139954767 758781323 891001002 776222255 608816148 695272999 956352511 723219317 384122735 604800349 521457528 704449858 816954040 907451237 867461491 636410993 998509103 748383278 852664735 720655854 948596136 499261220 755565909 260047386 906388719 756796245 947100817 378018321 182118205 845376789 545470727 631006726 469018831 935211998 263502788 455121253 640811582 980404031 346321612 306759792 323178104 301702608 959370619 300084667 539824866 828185618 860395584 688542418 202726637 915405545 875620269 287355736 517416279 571307566 672313938 407142434 559274914 836724082 179866249 702069297 848439986 549076171 214520532 622232167 573073436 856258065 596540963 762499236 912584562 133405184 768665364 432460992 687385585 957629398 196069604 698695303 230168881 712577936 307455275 508878748 655454600 731771011 231450482 556739465 875709497 991990744 886856525 994270939 165678687 440794460 525005176 512535585 938781491 293660182 409388734 492998183 238956065 978142717 583932389 787506776 122306971 490000396 573578092 892718283 871179730 441228655 904944910 331884713 791529310 918218787 716934698 669370908 711212564 899464614 618551120 349358957 475253108 485977479 604984455 990392571 406735017 489331056 278681768 477949969 918236117 694034319 811272186 835488884 993225279 643306054 364900969 805601795 596228081 475496666 902759904 870644730 271006749 425634646 967967717 441493891 604255666 859250623 705085295 758888261 949829741 348188570 693944122 326628188 423721887 534612094 272286448 348450008 570943140 955740737 533734043 276440617 427889368 245996203 304168810 276743914 311790275 987386897 724197369 581166457 843957933 481355212 797361106 573218219 346099534 384201878 100715972 635419947 207145895 862002436 190856125 348682403 725622708 718296439 205662042 640947029 801301903 275108398 508993358 499147708 206468279 956600761 353559783 533531399 769228242 415632046 918155853 997316089 419877346 646329545 758344717 944486160 492669211 838406827 402992287 675095284 601437270 991496173 251940344 154522334 432466618 427056705 525011937 968318680 273709345 167662712 537018917 751053279 788769345 143232123 736711212 394751032 916279747 581755763 867964566 820836481 600115096 602698386 202057816 606489396 465882090 641233908 503676386 994017033 114839410 656991508 778018134 316080369 371028980 236881224 378989364 273807359 322097998 328321719 609310773 381931639 310760847 818661683 586666740 479457411 616301470 601109681 885724183 248231455 228305323 672338691 161042739 404275453 665793465 927740361 943839372 817920450 578419172 574293782 779696342 693845162 786036850 401753210 330343156 129015806 937304659 321203196 209391909 444098804 678477842 728556973 290742487 638266767 140866759 885517263 697696149 530172287 792658498 267943820 527586065 253481532 261476170 207152797 139484228 878922117 880113200 220986394 109901060 124130258 951442514 854258048 372925611 791877939 573980564 282455965 349012318 939628763 357836465 980891590 739921368 916906078 959413067 351702546 905520498 146487046 764074215 550751881 359070923 312021999 703218571 305559864 309864984 499923316 566034356 382217101 251477489 879890299 737131683 713772942 532620925 106172075 852348371 286986837 307803862 346396470 468785094 597856145 846755704 547125988 664150120 262512154 856337055 943832322 375520743 521289853 975975324 149898341 525690622 203427440 287810271 123797662 634952669 861088146 754708467 463729623 796189872 568808868 739092461 732352823 592366399 406482612 175163160 160927434 935435046 333109836 789825306 422115245 856096526 563748391 303233955 536384375 431462292 687578321 630447525 368868627 622269374 170377669 649585687 366078098 689898712 144587904 202882099 585730308 945366391 413451127 487729714 179793096 939537012 788425246 491309414 385312680 261199385 885958189 593407305 809948276 719837146 694652811 209014212 763652939 958228419 984656450 357982085 836136671 287252639 143027958 385694757 270064655 191315500 755525569 860571033 799759337 352627704 632910655 718276443 989390279 286272297 308635448 979212029 392236916 613395034 970000025 420462381 434457606 637736445 822910765 552009200 105419587 630427031 204893010 363656216 414477428 976275871 261398867 442386940 480386068 397956049 758378419 366199913 671604294 348764579 741117514 846414113 955794958 669425086 276253502 895942178 715541904 462316884 185599321 328426944 865542459 551585190 151231375 584622864 689680311 722681619 400923710 793264245 250269505 724596256 166138505 224615225 808129751 370786885 464304350 942462195 367318146 471022076 820263775 482244112 947492798 358851197 404095600 418415854 252490617 655984171 948113374 484980553 513512906 110561613 203480005 749029963 117584200 657710570 177307462 534950070 390145828 234409172 842155703 425627131 135153932 351009667 658611360 246721117 755492969 469373706 750870307 454786796 758322104 825683330 865890541 692932428 861074180 102910516 204288592 766151678 436847240 314813313 778070254 711434879 514465265 149670695 860467646 292914118 146304397 934993946 685512036 680337149 268358435 360898541 832137708 307323821 153883333 825234028 994051332 537293631 827430609 384990827 874279230 901607900 785749893 226413719 904508987 798072103 381637779 462347916 441096766 651710007 559488949 515560581 454350298 600385088 748271776 890137274 238488559 709993280 912348841 500775844 609808480 637139108 940791685 718855220 255890826 506953224 566396621 159775762 210326640 293142499 809858421 880906976 235460478 684501122 126424504 492478615 127169539 830974019 961065972 277145880 645153840 359891859 440027379 446918569 959913566 968868767 366126090 404804590 900745681 483745153 256402349 252407078 939079307 387162321 322354472 670766140 588597383 504574984 300192887 901726108 100977190 433413491 183350961 321933893 470749584 558386078 190271842 644113537 757287281 259670101 432964929 162205870 529153386 377279169 413173772 771436122 284356307 415823243 374895096 116206827 681346821 892097648 687306130 128665219 882928430 505305388 773583427 113490580 801549955 618185262 897480938 957039913 684212905 585812558 873906881 109928298 529562476 884737747 774523900 895873121 868884378 542861806 637083882 552236980 178784525 861085318 389896302 833132355 810774678 301765227 582137980 422898959 119698098 679403396 144338248 632209476 380696640 807510659 937240661 551877903 752795025 984224795 587140996 537797312 229425090 151648985 163954312 493933271 493354102 617668271 243110941 222214406 449176220 862858304 638926116 330540914 990361574 880616808 510942560 751466974 173410300 834525912 224699660 526709854 502836968 612365472 572134220 254565649 187843604 542727238 964172764 146692523 175983033 809667113 941490768 429920176 527664671 869927853 795444098 806882774 850260795 588160304 865218171 525133880 868388127 524263813 288670958 454496041 736524130 824107269 140471326 915058727 577087907 615979845 876123214 408717619 845945747 744978354 350393547 543149161 826427570 627665742 503366994 451755499 267181882 264969705 332045953 130395799 431771777 797940195 541319741 981501982 388446458 691251875 347105338 257210901 978396165 791499602 588080007 504123803 156670987 607605204 637427702 354322334 977269938 310681049 329500030 404551592 606766595 262010539 945592987 941797024 485006096 536859944 149941959 674689441 903618466 363603966 542094998 228512084 279558751 556327706 248146071 404487611 200214955 685439922 834608725 328026513 388679633 242546337 913741266 719162714 364446422 320212924 562793100 796405170 958883107 889936880 949073555 140033953 515339057 632777022 415502114 563549807 774974199 629634309 800701078 168738286 875714493 439558838 311945294 479135914 131562056 640694873 535120424 581632269 899039937 129842843 711211691 955025438 260378064 906116694 399522384 119017911 687398116 576367318 653615406 610282961 618651189 984520284 934061676 639853954 402786932 528632640 383682450 939347675 573481264 795974326 831593274 988407439 576080656 730700909 588727744 416899107 681504837 433722906 430466033 689250265 871249796 452205218 671076635 132804565 833396520 711468058 953956368 999124587 844294632 855220354 550040406 170658821 985008993 874863763 282326731 507777664 886864510 328274200 286741872 950900078 650299170 863013799 367162016 389070775 387361144 450519105 562780104 196149190 675021056 753213400 901842027 226958357 455927180 225218965 522973983 888980232 894473325 492624361 359372330 871377778 206815529 432861071 520916215 239113642 640768866 281001446 990252588 434496484 606502376 465878969 271242765 648736640 941384354 261385428 234421854 239217761 663817420 942391616 249549158 161320872 367790121 604159151 144687920 403604283 223758343 582576953 699368830 999973640 161646010 162249274 738926683 146600228 815650609 995285355 373725731 442277518 624383734 135287245 534167791 108482035 703146669 728242736 759984200 299448757 355166198 580555283 602837438 880103562 311861829 536958685 141897912 783056663 566392710 998448307 335518973 541899124 714570643 738731811 402512956 655840484 380237106 203901255 335530996 467184956 890615756 474071243 364743533 158084912 738341211 761545273 952469499 393289010 211113574 817667032 403166818 587816624 763584913 327064184 833516753 166712511 392498446 519209469 626510495 264156713 610406378 557711159 204346817 750827098 695324816 971200475 588018527 601569323 241069144 703167898 809905164 882252209 645272284 673720599 710869697 419137058 364322196 743858353 511122782 190638521 503250725 103353924 823718447 603209433 669221318 303069504 804119435 518069039 687207453 824636605 623379420 971115619 488502104 966396520 248439384 843896155 934882302 394579722 258245340 573294341 390722857 343850627 954806288 761264268 522932562 693438847 262556883 644224063 694480347 481281134 833456614 345262173 922002261 939725091 759596125 572357554 481962831 357275647 323547286 771397907 163156170 676054751 208068920 174951810 795348926 628076954 717938304 919235501 358444701 351813080 916781339 810123700 519206522 980186439 365917444 561395180 843853288 203224336 406404457 689082041 202032525 528810032 703269819 435526636 480878911 458904002 616422620 425173000 468756932 823142116 147513403 687490157 133601832 165006431 613972397 388503313 685317130 487126343 576537223 399179584 507671863 605582672 519190497 981389949 569011607 983808574 508404511 112151857 438962924 483123898 327194435 660816235 212073701 650472322 550058918 922469036 864877917 876591901 912166138 763199462 719762841 478300021 731216173 182731665 615038060 671204259 549892445 108881148 715764660 409462432 771552186 995240064 345797837 720713262 190263535 620610063 193688927 358607614 810690280 500120140 712502499 612142132 481769254 645772795 142697393 935481937 813342308 403191708 235882750 500097004 522366446 470000920 366706174 935564414 917089828 543808270 270498651 429941721 706981614 239971737 241074033 451519617 245375933 557405812 380995470 301307381 765526107 680277085 336358636 801587727 216262559 364477031 173474849 211703950 346418481 343366507 605280582 448673536 662013994 748629622 295853229 458647788 569005895 338147450 361850555 131721318 854805015 428335515 813999286 689142043 601934867 635339199 155212517 628548395 631160722 287163778 816481962 707175769 307286949 347169219 225416704 182149389 100333643 534441529 692426992 338493515 308132903 578028719 794451337 108253370 307514966 932607311 791022678 312148425 371970810 438893275 860674419 229054373 773571831 552776221 199584585 557364378 404787408 751273408 990352866 613058166 790638718 874777349 898598114 545328723 391091059 951021378 555422592 464962165 172424390 300349558 277090671 615473668 513193792 827276123 652695884 599801828 889437869 154436103 262744425 932268048 532862369 387146043 946209055 159940554 534337485 700103785 775370675 263230351 284484827 256042720 699390386 208221453 223323557 637121352 469291572 560417272 373342111 480283163 131231460 817442830 360449752 756963232 706755710 453818060 717716433 834384917 924648373 729586985 230960886 261735804 638070751 998852578 326370267 720107235 162868229 809725881 809777073 675145816 201308593 191363981 890937658 763537429 699508655 491162196 720631424 502632486 161491303 713781419 404121731 718608982 926794782 798224901 357494169 596954808 279893004 728121893 441621503 274066237 937244967 643627302 691878493 233972801 713594769 215040392 429450030 200923722 728343127 653256571 852415091 198629207 504329920 597250080 141678914 439767973 882237815 263950933 722377834 814641594 999262897 697951800 970751442 250201211 857587445 346784135 943503747 732183760 701708962 266136947 578567523 605850875 301685671 432956272 420205179 916073397 109553230 986297835 257264821 195426811 653159570 921830895 826567314 940913040 413209164 747480648 819366178 284279950 753512106 835298042 526707404 744242147 165641813 961818027 449393706 156388044 595217051 734678240 494454997 846093340 707331200 279414177 264194642 175819394 482697276 315078475 388905514 875972654 977728890 614578318 656684908 416494365 319999024 417975479 614822619 632611676 240075493 398935424 314347311 397771063 842580470 806328988 974508701 970360340 643876089 364288945 278083892 593802262 983665502 649413424 662959630 811856297 438471832 575547255 518254192 742068798 333069129 807037125 530398905 607682066 145460450 338199237 978705608 479456455 300878134 869299888 336788097 810393937 419482107 136273763 513200197 150408850 542036647 304704986 369381988 835639762 624041349 883160302 515642215 821981052 818220441 883191271 610695476 348279622 465510100 635312107 530705107 757791698 105178593 760750017 195798167 289564645 557249371 330307547 520372485 461583042 245432083 827349068 766462022 971797506 119809439 753869703 430407310 685502329 139238300 371124499 748535343 327714047 693507529 616447055 912427509 220326553 605908154 788956714 750650959 413512959 440848854 126434979 122771766 673957127 120029546 115596839 286382434 334697817 540901493 269302323 668106116 234227439 644214227 504358960 722262605 307033040 284290763 253768399 169076881 882338116 489287884 262421909 660113049 271845033 729558835 295934357 623129070 811776038 690545113 475280687 347358929 814456414 332686616 591999953 147412302 324667905 351236616 959268069 970850547 902230107 129352412 693585355 673376342 379674646 656138059 142738416 533248152 977859064 152830204 978774013 183916794 405218511 325495204 844304284 429785239 904884510 974036104 872209182 981727408 284068924 238406477 291501289 970409105 312113766 195750378 392135069 859338789 554655586 166145613 131128257 167669424 686148982 874858009 582398526 731704885 351579702 972126248 264545249 666752466 921844840 651875537 853045497 419169889 985325392 371140057 656843410 764065559 827578651 649917748 192156608 967090354 957231438 675998087 221880197 196583260 534830441 125225934 585807744 644479251 563173602 321085749 862961529 149507536 774309596 925076538 153213760 342792590 250351786 470847493 702984674 465134983 345617160 744154259 100435755 660696715 323216726 730907024 262644406 129343903 418863492 156918674 898740191 400342837 419116028 786992931 106322190 479291527 486024397 439180116 725592497 666413695 404327814 946681378 800509473 128238289 903830400 147773473 756942293 630609434 836297354 314185831 321339706 104438152 277970411 444158821 991322700 233577103 167182286 185648623 768900120 274132363 370693551 165662203 490645591 689129602 480542421 872134832 938838045 878625639 430259702 725080727 648428716 891152816 539932007 436868939 968653952 913352883 356598035 118072088 587291392 110555317 234097413 442136096 750605381 790803846 377385758 768985769 623718591 574395817 818494681 582617549 925582046 494202394 734911241 700736398 431400129 978166076 760061057 755037773 837488075 847794713 466474699 183060177 931229787 383174877 302608627 550509400 544484645 901547522 957679133 848639893 479104984 317237821 326922895 869753126 498703124 750951002 181311058 774400698 420500250 911368315 760917878 990694383 678893534 837731783 872447385 988845364 222911993 207396658 442924283 748324846 220336504 557796392 829979428 562020604 664165045 753888059 534272390 249252376 774056124 183983453 638251264 624611273 866567562 510791596 511687914 792561531 564153998 821181649 247429115 161486086 686081084 439757747 543072889 990270432 925269401 322016088 722599657 707739691 113863547 899775403 765123575 728782437 884357371 934251774 840071364 813312319 143498714 933606870 863226071 578192011 570269537 786650163 382861931 239532881 659036286 219028006 207160188 722286673 406511297 658815106 285461774 973547648 128455441 385700036 435864348 309447678 936911072 376599087 546097319 903722608 401168606 890707946 935130906 150794401 667393827 668081484 539262640 464068741 948003216 126249754 467458257 630097207 843525256 207095427 229167875 696259869 720201458 299186384 388634581 203432914 151869731 345565901 154623699 503964715 331794492 854079650 770278056 682522804 350288924 537852531 740499766 559985020 473567272 626346502 886913994 161829982 534851271 491876051 790119814 307693198 848797586 713413119 268361796 564849266 588436078 220285784 571424205 263758335 626065981 687771400 643338750 338222948 569533296 629900458 554339082 948428963 411763312 874978355 282364451 412553237 529284073 877080522 294052915 229182361 185641472 149217314 319153480 789090421 743558015 397228704 877261278 817150754 514853967 975042537 195610934 844578944 481107642 761456691 411753354 795100552 465439218 666610793 846194079 353952025 155015932 923525568 215559629 238883551 191248122 378992732 822042466 580240327 816084069 823294670 296880768 663087356 378102987 875182262 443951702 382161269 869545800 514514430 656148125 999777158 424038597 882615630 946377038 210464732 841037487 989333634 712858234 530764340 771927193 151474515 765620477 120516894 775687420 490995682 759661012 523203583 251843218 641404740 407322688 451063538 644723827 297176905 237481150 431171806 906487172 313569024 928804390 140746395 752982192 872108472 193065045 784958233 702644693 682583463 707566376 663990013 519532606 119758271 121373126 403431526 350038878 321279483 302444329 148415173 623228384 639589289 293590999 236741890 476151113 198209786 873821778 638043518 558232268 870707617 412714715 355641464 821107258 803422138 299566161 451085031 184764214 705635397 736419706 786349225 422161038 488073525 744505865 746119033 390602207 598248732 302025395 907637757 848263792 462140570 131004317 746984847 996406512 222911260 790897597 584387175 280718028 890636693 457701985 176302354 834993183 189439024 527432038 314570295 401983346 447251387 576186963 733090378 132522463 872996283 957073045 467045667 407782893 278909153 600672334 325864952 427031653 464171400 696187905 871897518 117275897 275241972 780321893 166971788 354734115 267577578 595041237 469370956 862640510 399405243 623430705 333875540 966356430 575560964 174615765 807580490 542250020 635216585 901666828 702755923 554755964 989230226 387441551 814245825 901808356 882144024 808509947 642236009 563733990 902820983 163827957 109048844 302892128 607746299 172031115 513025983 675255077 776413425 377537561 400239340 297898697 446606801 490911321 796409709 684900162 284676989 597777895 474801095 717588067 728476827 989060288 821195403 437251110 569360092 619664535 323726682 890423370 874359771 645344997 473498460 939321170 268504904 268048985 101198276 356127900 640884495 490003814 296307036 670147729 868334667 125345768 251380745 355488498 373776326 494686188 670941037 805665378 244924843 723806698 603258578 772386611 409785994 458917163 887272806 755265415 653637501 765186633 960233979 846518358 383533873 808525473 671712348 856002252 532693728 620869632 177130467 960658360 894875675 177192031 793576826 809862229 937354638 310279364 297915738 238771046 486412351 879624040 222920917 766384912 805965335 314195516 938901395 311207026 326508279 627374372 909572316 410395334 776754678 596739564 819449675 582839338 336703708 719806206 395939762 844738783 406002481 295306674 921690448 935186166 723629138 743514002 178848449 485990385 566476356 241891785 490219811 714675562 819605896 397352783 283924005 199363136 883961240 507506210 813093958 207453590 910945379 729701147 480754206 173732261 106985008 344356154 445742641 466509656 424604627 430335290 458048579 536034142 665384522 697520208 779182509 265109723 417707977 684550937 521161154 965425008 791005780 457466877 432905041 129912706 175249545 531040096 378536416 827890477 496194288 130685682 234160964 404553410 136970246 247449955 203404687 965369698 614668653 184647317 987202055 410164583 595077277 199049960 833035366 661143604 692790381 950601673 659997948 852563027 697506575 294016826 269410380 464497710 188006712 948116956 105562469 460657676 291496514 524300663 184014875 981937584 964158382 646589470 721569104 841626563 700818850 747171905 895036943 858023807 693500463 491072811 371824364 828735570 175443158 243029451 878839862 585257042 317055481 631418020 728189585 201963785 496809602 476596788 698969881 581804871 692695664 354155391 540541191 431141237 404407031 676606242 794404726 139138001 523461920 740484127 671105281 874070627 185788487 314556596 840307070 501108739 278616447 780578867 518831703 615037824 196180261 337601099 109914389 478063839 945624925 276908254 500689126 442988367 219537999 840734919 522034708 106471323 359601865 835108647 791362803 616414426 946123758 631859179 215078639 499394939 856291555 215242875 198873829 403160458 705899226 603185513 117670490 561586991 276844034 927814259 388869588 277249453 891166932 658529145 750311072 488821291 151009348 693009542 608892407 678036958 328368119 907919847 510659176 631948555 485197394 456503341 152763011 745814025 531232828 234267031 785767233 565022547 731959656 403837257 223374732 832587921 430303119 207830475 750073360 225536212 477378156 518003193 977849516 855110116 650827527 606181309 850267435 836700944 595897611 463708271 889013894 199826392 694865605 121019593 899312630 682131037 720209999 157123764 413559067 914268156 505814736 196336359 267310551 307942294 362253415 261778268 800637978 813985514 875271876 934540425 759948492 356852211 826222816 222002786 243185681 431887218 769294687 500799201 230430757 861796519 349082674 894369393 532780790 569500457 707885965 846156734 242043298 480586277 474400587 438176637 454282341 350882192 530674023 566813618 855825823 128967170 944260509 110629990 282340790 936040036 259350719 240989110 452758053 780963117 175648940 253006098 242904521 724585297 243675080 462096753 628235670 287175359 356694384 498001622 608055844 638429706 692686477 288453654 851088745 934031799 384307903 978220680 617045243 482949127 431493233 149831759 743469675 911003015 994484298 739789908 911307059 602213317 397624246 347649267 823241790 261008190 505132891 721119372 158428107 595086493 132003334 357235392 112336513 581531167 506972549 119182180 687776605 530628241 969725911 951645187 449356422 157750714 718053442 379692016 321026443 273890336 133314907 755752147 681829912 880234070 478428097 756936604 365729000 100828112 334361765 966872326 560615079 134256765 229350084 182277847 467432760 389683441 630098756 419204251 629334332 270082632 953827655 748616888 272955915 935083508 213688697 837523190 117198174 398227308 841883580 766357943 596659940 909397634 329623814 723487134 790359793 195855319 643130985 125864766 910475279 380411153 621835631 620674689 671117843 994046000 172195104 537014312 852260546 793934737 760164397 452909651 377498682 166204192 541280207 730387388 640172610 715714299 244104925 819921068 990257230 700825127 548658126 354279633 651519425 874909474 458714628 462756463 296884453 238699785 114277625 121993028 552104318 795441222 753315982 510151177 450638666 620440864 325174473 987162137 296040071 181913838 797145148 617123791 657424261 953608312 666180064 516046675 146020564 890082328 295542990 607305377 595728396 919979464 474370140 856299469 115775322 127381111 177834303 714393322 927106910 782741385 101569687 696133374 224397803 520850802 267878349 847156865 448351102 794369011 858656577 178338814 494551307 100157724 549262228 939913417 830205695 425009799 141050706 377724755 333888830 272722461 895885984 658269204 679298236 272979879 311885758 954106814 521974732 295269322 453445324 512426798 687654345 433799403 978359857 511824365 159198357 397325266 656233991 895103670 471534892 737897282 827138198 121447472 824904637 812232486 800671970 692002991 515766236 820493610 348223051 389665911 470131465 181772351 402021614 230128701 165088908 365610220 212016486 682145616 466045477 911143960 739297717 629217754 521557707 614560090 225805020 191624742 695904029 214405715 702390484 801368423 849938507 942361633 175434308 977046095 946891378 809048080 889622623 427062135 576268148 151807266 508914996 427438789 782345967 661722940 642440746 677793821 585630203 161854978 596056467 691615614 708786277 387612201 637599113 906519307 581581977 957914697 648554970 228080551 765225392 748477264 925913580 303586726 436770217 372212129 134704908 534487019 227471516 810784578 109648903 328281235 189205804 251619805 204037622 332796150 126465593 648583863 503703297 800408627 946109856 754107462 821176916 387084709 955422242 847275075 729791535 196405715 968606792 619145460 556512231 811467296 912575601 118707482 269331061 236548081 431973235 126847300 778622497 715790257 494452165 496234680 114094914 564205903 400969221 352070930 104492974 754726020 741759939 312038560 922260796 503369044 919842853 701477346 905783330 851708406 259472725 384656651 263333895 161687715 869378352 531656999 762668121 146139171 339188138 958783751 242295964 262450734 174254440 711131536 454600451 581847895 595101194 295767615 836336454 519388728 373249079 432827397 417969532 464710582 567904936 148527737 286846136 544236942 188084439 451151649 526730186 660956828 439913464 916740296 353385596 584267476 708408779 357522611 989676721 124014497 183244353 465441305 722187198 803786071 188419995 244524668 607486048 579313594 592465039 483065013 303543624 894791887 558632462 967911388 979704551 315253141 703813591 458982835 920956946 986593826 161865527 392626143 557775430 848544724 978010872 730902794 617261088 814401115 623711499 997893855 751013417 270771794 195117096 117872647 309163905 798030770 596431834 664926973 851876235 868561851 808058487 961949026 492581005 462122540 204368518 880314135 162049723 567480623 668996781 833844926 920923195 480457644 717598717 686000393 889303694 109743661 368233240 499772762 924960658 503490968 187678623 909797785 760680226 384455657 724356697 783715743 153454158 839017227 947644312 319579270 698088848 356959266 224040912 319713261 762798020 347136460 797795378 753523270 312528749 374107847 611141692 259093078 503089546 157600708 882759524 317788555 176918257 494376939 247282138 593209572 786329762 331216427 872024684 742912636 785271147 717727523 227409041 807341951 322054128 919282100 103494585 771662448 675254362 824545615 115391757 804234892 993278180 694487744 298345848 577273592 396353765 121411925 260538547 791924070 257429982 885223571 549083381 183094318 967676877 236497880 113183339 503576576 442300374 253496381 477903703 221485499 952098094 462591644 158531191 405429405 776415923 744649169 270493779 497333337 667003122 865791141 582355076 936218193 149378510 862200920 597723050 647429608 376368603 204032468 506637060 522212602 386942929 182229498 800886218 951836521 689394306 776101100 384963365 960751898 598170419 925690420 429946115 222195402 155989304 138027964 738727693 514163557 580234151 741698321 324452805 116007871 993092867 939714935 948489120 639487743 882372150 380384885 522812934 851271736 245050909 209962176 439653240 157907032 258987688 351143496 220851060 787455097 971119186 267844237 110472441 403244414 702025192 693200625 242053690 403743041 586720381 845724400 393961424 663853986 427909742 821572431 590292431 514938203 210970069 562795051 806307654 800427702 214217251 198032954 916439641 238662490 535477380 636057607 293476269 658571533 237646005 140928354 528862933 766917102 866086135 322540654 745465641 580384612 368777093 682198334 312539523 750587973 851359724 643714655 129948338 992485380 457718622 403747032 517521403 157364167 152031017 196316683 892067352 422335491 435243357 940112776 296086699 825983625 793659612 522253779 174455372 198273299 900178940 682035013 581937019 923483136 278427900 382930406 205993981 207893553 544968826 380787254 350863845 345975992 984223750 752886484 319492839 260568581 936937371 855023056 305789786 960970296 472030347 685025560 307725473 310473501 425728657 869159734 827242007 814597546 532525521 131020266 413546392 501879226 963629493 379764261 511152199 584566012 205532059 447697122 821119470 187172710 399862362 390671110 424625623 452484669 719998314 712766861 271523582 705778958 186978681 291164806 517874243 925441887 504817929 343650395 789591482 617837258 164100666 680350343 369775410 791231645 282921803 719182440 587410919 485434598 669459206 230388832 385147701 690059867 885233397 219797244 504710803 512025738 602308406 909519320 556129554 230417174 802967695 465998048 611117948 332294513 732462331 298516395 466172258 798102079 381725425 104895463 314360864 732584818 642278222 732450507 841944500 456954021 495644245 861945703 276798135 631618371 391921311 783493118 446230907 859292020 823898207 433131935 808884644 257303170 777288005 179403801 736803730 232243378 147692912 604783586 493804797 480504944 296181815 631333235 244615693 140626528 761996366 453635119 422400323 105952281 902167049 586703387 515996219 371749126 497921786 469706345 828255019 168903631 447134645 643723376 268491895 702318520 344719746 469854337 695075085 812788585 132427494 695630243 547350783 885792147 382366606 144473215 596856907 777944815 893819102 392311078 521023448 516013876 382064182 125305512 144361316 393939926 512641448 613717188 805856294 182667764 401205772 417036422 719918576 234946607 263850147 352908875 439277687 300494232 426693666 996003828 835146994 516034608 375758342 234218344 225346644 849157008 526867674 517403587 494435131 926101596 935567993 541185486 816687079 855649824 506938847 321071341 608541396 793014941 862602222 354861547 831287413 319278205 865441246 953358839 887548190 601490401 310377421 910463040 730027231 465440448 819962703 836927598 390951497 188527276 770150150 471147912 642752337 424810932 880406956 595984548 764804688 597092101 437903226 265921685 396345769 830453238 974003304 517108710 988454314 997245089 171707414 341598414 359081717 700760132 482418886 575746704 499280210 811864223 244017841 741509539 463850077 589346661 754523796 941631258 722051427 248418636 912710184 168052899 580823637 973147262 882106056 400534912 930599753 851869345 320520526 409964974 431570764 727556759 883558711 952230658 385754046 628619331 316004177 289729725 714137372 715908228 502816486 299641515 972697949 438361569 409274759 412976947 558066472 548550947 626202255 603844188 195921955 557105926 250811443 383303444 459950804 526899264 310986643 658046599 146213693 978685173 277018319 400369760 676745278 858305881 255063970 699940198 110755669 654646051 823112495 535827257 559388209 629123061 623480541 533177050 813908409 292198222 886183541 862665729 253381097 295682800 475789366 562901167 884408055 945582400 595241255 125502809 884022587 639605253 440790330 985959924 183430097 377647540 884657712 146755079 716525070 861305655 749778587 849920079 112654613 111263291 159496733 640442645 168896815 906058448 890407240 656061600 319963058 518596575 967565219 888178504 590549056 124084912 839815027 199993572 911908618 279622819 465699356 298695313 393051814 537634781 186088071 973436257 914229187 219762884 727372142 576844024 121338129 894495930 593352626 205598764 227473603 404612612 117540178 529497899 943085195 904541641 238728832 107896921 135687704 224119941 450372714 594538472 306222007 101841692 188597959 543257990 404161851 344570558 316290097 103535329 531223049 546522077 815635818 832936214 674663995 703852676 306630431 643483826 678544561 438646941 565895632 660634916 545888554 138156314 208575521 409184850 976346260 388575887 760815059 670890628 258857780 377515827 176512963 964191406 328220467 887353867 662646457 167158772 875588005 959469773 186502129 929790449 855326865 476741303 368215607 736924168 253048895 766848092 641660573 462186137 417291121 888985658 406713951 741849813 916607368 820309734 877922085 205354813 760307711 160348013 261385067 302743276 569110167 687925708 853663170 129061383 655079258 302525589 625080486 474314456 852085492 340097654 468164835 904805710 660544975 989575425 406701777 576856829 248076832 519750016 961285012 259234510 657523754 597849980 650499749 704640113 837458020 169049944 138205415 562593680 706498558 685122123 289177336 638765368 697440620 866569698 655382361 582715812 691653529 127759323 675523911 112732965 369641592 775113124 930438746 450705739 911393033 540252116 176164574 932739037 376412448 495153515 594805251 135114454 503066481 378758181 153024891 258910787 674214872 298591490 553749359 567310894 784016232 915836786 359487650 313119625 482656821 635878816 405872954 851694923 277089947 725542100 806833080 916927471 662625849 531728434 927105699 978225419 933379867 934473445 192439096 219391898 257874220 652562701 749941568 489835053 525890328 557925969 192827238 119919728 152135656 396553355 993721720 841332942 505062779 590457517 305620453 380719419 463384326 978836045 697568130 638698776 557285691 819616030 934436568 902266238 948028879 681081886 584706279 195064837 809447551 659208168 778895511 180445890 225782106 168554558 489345724 528998375 444443492 584571194 856193961 812079012 772886432 118322429 926142858 432517885 321147758 738820808 378164648 900864414 350343973 996578947 161898329 267550655 272149074 754896600 865883700 845623921 123471783 365925957 823448205 325332398 619302701 805095526 421635766 865154648 658259783 390940989 449628074 606874247 497128618 654889682 948187020 558581266 774957092 214619625 560616526 293976962 171771448 641204836 234428419 709914965 542418309 332505123 605906401 584498377 397413404 378644032 170894858 388693765 493707481 654294905 436758248 710489376 140539854 671248263 696270451 621661832 887002898 876604713 263236716 116268468 218255281 663070506 228302970 634424955 961477472 735579357 706283793 939388094 269359768 862238402 588491019 232468991 791618094 554312145 747336246 433822840 254029284 436436263 718336069 814709260 159290933 147526629 550972390 733099494 794530004 522159155 594399153 226142862 108477907 999918033 743735542 234252608 570429867 960949669 429008326 392472272 218092986 352080394 984707019 178824469 848773217 587439442 552965521 767931949 574857927 151360071 426810652 419603893 918158205 875749333 885804740 218805567 564037039 654787344 635532887 718122891 968877367 847935885 953042347 228776552 298072443 759556759 443361232 722923364 631776030 988445651 340523888 999796903 321653485 502464696 119599420 277199404 509979263 114484615 731689963 773076830 722967556 458175608 815855036 744475904 360833158 714488629 968686191 262708985 141051506 667067028 742475534 361349003 431110815 263846913 269576432 145657026 640698742 378056121 582492627 420875629 977171765 752617692 678584133 869977182 420581733 719726690 915206330 977651817 736539318 945179664 223883461 837346171 575368527 294453982 472790267 774946441 425001460 808891423 712247914 457441983 503204930 605714840 138381581 691531921 981408960 829845808 197793393 753235714 614298874 124072211 876562575 356305463 358059466 461554661 956877934 175383382 232671120 178958349 183264558 210390240 956133764 158078072 151340070 624701488 467621265 838962249 673264929 686287612 115539882 410790135 780362371 826975016 457764860 974302880 191913892 586003348 384144221 175729540 321748443 300014701 670470486 622829042 305861026 811418253 830978237 287985808 465222764 256585525 379710877 268729781 572536477 443996359 559398319 105933027 621120676 979570422 405883156 752065349 835979316 348811313 510046536 546782849 941104314 281969209 529443807 855631952 699910427 511950883 289486446 413252422 400666871 894753459 928064876 939598220 371916907 722711748 110309040 474453278 751721436 617641177 984557548 156386943 736479941 156285537 854690140 736364970 312413126 126810496 131947114 849280023 413205943 911542331 522113073 667709354 893211068 637684907 519599460 568278643 190467418 176434215 301101154 579137052 683879083 937566791 370812222 255643274 174988947 591127499 533937324 673660685 991220286 432748742 326240442 941202758 337169924 842172715 358207822 216001622 193480851 697859153 946170013 492402055 934366184 471394614 158990336 312374124 276117161 253321115 914533968 537988648 393224170 250287088 826846339 692554679 109984173 162388293 928576054 664142436 461207859 340071365 443539411 568017512 873701183 105480578 536306876 156106349 863367607 644620665 745626154 690780476 105491137 659691200 120560151 338999708 399305289 192522239 390718993 858923731 175458041 574261867 654410171 927857742 500183708 680150020 353682128 277179599 587659076 858352293 572600791 952268735 145433597 968204312 973130467 287856004 456815860 159988764 923659312 875090889 348813891 868741155 808566553 232874673 689080274 422794242 436077576 449841654 423770394 501108106 817833175 138170668 468782568 743874447 895430779 730681667 575156182 388688620 579538799 161685702 400303736 268919142 722001817 874326920 288144911 341211975 702984788 283303507 381442317 611029858 225955615 764965139 864686054 496819354 305406085 840952390 405411636 100017603 501103657 501958890 850915007 592648638 276922627 500894618 173319243 143100721 259350001 180109342 230027048 640506206 109083502 109211257 287953326 170141483 465755956 149657923 383893360 932152361 700888546 958046375 785814221 810602527 260435472 841187033 895251915 858223686 577835644 328943779 802276272 753983706 117834598 950706232 592093706 660491545 522331405 726482968 759868436 930173430 437116956 348851177 985452773 249772516 862702929 818204863 781016604 960549853 677677573 558661125 815684345 121012632 698568592 383841662 482716985 497492068 458221668 758396986 969108251 285517623 295111727 569738003 978965459 108741251 132149818 794775331 229126943 439175203 407659555 378265299 139350380 410376333 850453567 927258349 342822533 522452677 369991843 713108461 519794771 275850461 259365610 966311253 409305235 619132962 417398178 565580353 779852447 163213147 329141556 928644830 487916577 603020483 514329599 316900943 919797357 217656836 538787234 141387520 831412094 203873234 736439827 527978268 717407968 985476523 149639532 383924469 927478123 812783107 156604063 319690346 273847944 582640954 689682408 145245552 116799584 402889212 585159496 432636360 764722681 846920759 388241122 271212565 809969495 884022287 688719885 350650421 491940339 920811406 576855423 506885197 723685527 474198452 866147873 342920357 360375015 337856457 506112208 800450385 264605285 330997755 776145931 782416248 847618443 708655203 113067190 630778990 936669361 180379302 187738667 758186479 135508977 584353474 233426382 263415231 402986947 773847274 482555287 220153640 544436910 602477046 169611121 787406263 558942349 816778787 803447110 611996151 975491488 771405387 672644930 673931531 678639143 502935358 366758977 956083022 225310199 476014504 180052527 402804534 931475056 908006920 676925926 731908458 456862480 329809315 729338088 455920927 113310677 565719712 704583291 642584010 258354976 950791638 992430162 557574147 475406825 640897176 181832812 638630032 831128506 354142530 781805327 656406037 218379555 686628532 900489210 857692459 287403195 910892649 276665219 855180249 320873526 866130235 412870922 519634678 718324386 742695637 160932658 354950493 179918714 828034386 197796774 967550272 460560493 434263411 941201833 778302572 875587893 939050965 674729619 816832768 284675622 181617017 533575380 476647196 859849862 450938799 825497882 259986339 476866266 718275970 177009021 686591929 924453704 536487009 194291929 560487531 442821352 905674853 229799980 598062101 786243513 656638252 465079482 463710219 772666176 666029419 950000162 811409426 627064065 726406277 681998486 522967508 956645730 986203474 498116216 218016503 208204919 608446370 832906586 760796053 939255682 816819389 830403013 487316514 310959952 943717415 319958915 795511127 757052477 426661848 391820487 480165408 310939924 515619670 267938992 327391144 750416578 183912897 183816090 473164798 380697545 858848896 350821418 199925576 337982610 248550843 105765842 130218142 647508242 547488737 669914841 584741703 873103600 299234571 324755973 126631401 498865262 183565121 430170724 740746189 444652343 853139550 964374106 497862714 854567229 357016119 928468545 308362152 372172245 964282595 166366238 986511496 932260530 947302527 974651523 369849020 549893442 816217168 602409224 227632256 476666449 583379422 664382667 686231306 654469625 487348869 952847678 726004261 352513006 808591432 368587552 406622072 833954312 560959576 763171609 600321882 664367833 413232562 826500610 272711340 849201607 152886114 914289306 405519892 851917295 635767915 938058725 854737920 833303704 650696767 230236327 225129913 344135698 222544184 658527897 751985618 926487864 774219373 346610093 268212576 832290980 180436842 458210856 186856020 408514219 433733618 225387411 311108978 955090871 670152737 541580489 572432594 954498850 749616053 942069477 208319010 152784571 798264788 540117135 792626262 693519497 935263369 123822756 872461066 428845747 979237043 304415563 446676679 963077088 399394744 817419403 419380646 653166520 126818824 607407133 874015030 699180143 228848228 195714945 805804128 719498503 755727373 580665531 186171078 272611258 988190533 178757026 677360057 234785523 643237080 156726574 241189760 987027429 847609725 355209947 852462869 576009449 936223163 841469692 896424887 542187107 751870669 486547049 430311901 553888310 684077372 954489031 815464339 585276909 680440355 320029439 278823760 833265661 445659411 560432457 881499132 226079400 955422069 234209438 140019563 317532264 127494353 772862796 169484418 841342788 502093973 189275232 574737076 849429957 698724688 141563542 971667342 416121032 299985252 652516663 781788086 639974480 323250291 212099431 618038148 411113179 690226277 860536474 690391320 111606452 680609090 656309978 469180493 790861226 605023995 806095991 304294780 119857696 559890797 136036155 739045832 993339071 386800899 179588028 616120881 597102203 658933786 839236174 694715397 170032918 638188950 215796167 812689140 963428721 989442784 830443496 368786583 851111266 856089568 259166452 896129697 349851761 340158383 688993096 971681466 643629329 365611356 750345866 132357587 571741462 394686916 267585274 428578522 548254767 416203109 964113622 227184248 913612953 730930703 843831912 212485536 821343216 267715940 290722848 324581820 256766036 305815662 438918235 879880651 485603654 957428437 471750928 222748295 866080590 738682687 741001283 648341956 711320935 790938851 462639785 525473907 190011632 968977588 880457849 741842800 569973984 400796230 199052831 509831070 944524055 459864448 175575349 454079227 233246811 616189663 815823565 722560021 156920169 599436207 747704864 113665678 366788549 705498541 428285721 485668684 342146551 475254792 355159557 427831949 352561062 415196953 919388103 277776178 499133522 958823950 501018632 805179701 989634088 505618519 629310197 789770100 244466021 845602881 558683051 291170195 388937501 102093000 809554300 877293534 258297118 374621239 730907224 752003580 618487381 978361180 881855973 866890367 552690986 238855748 405790218 332596317 185080822 838927714 740194674 999166250 827867935 332605300 189485265 424998705 471845856 644223880 754952204 377017130 682723837 650710824 826416571 528812388 893149254 790329010 405057683 753425270 404108629 634104661 178121825 148391194 606406823 650646381 701473196 569945736 759672517 912158732 308085076 415518279 849387424 948643022 741654880 188492456 672699332 700915720 744736772 613642196 317165335 651196529 357062697 815103737 676893224 447362344 697194670 979068636 163757001 564478327 845437977 348734668 995611234 358615804 711325337 183406990 463885569 607267196 354649902 315618487 224380682 787531564 158275203 185189932 681826262 266685721 568043855 839774995 379745351 829582247 219689247 151456992 652274985 816834580 638211839 329612689 537625057 145898589 623361326 377807893 355826426 495978127 555272082 558589599 642352348 183478821 135242059 655988002 588046133 309137980 848385042 984355978 261155434 642203717 296883058 249886612 979453476 865465769 691988278 270393392 898523826 756710215 303972673 813861365 307319419 899200143 738694996 775009006 668155738 718854720 431342756 129994377 594302143 742646142 484032914 837995130 890437077 406109093 254635690 658181644 134242297 922812532 898541855 340803484 234751542 422870020 995389180 457209318 296781678 966069041 988969081 626208817 676627369 231591210 813793660 460204130 201403249 144431010 675000849 418476382 838521625 167501221 951764490 712911206 848456629 520237300 358195811 904827197 362260004 673404272 804141694 486625546 426483323 808334069 468832469 139363588 840424191 801829898 166779532 762119551 913684380 813434381 201561718 931783745 248369958 389485891 473409697 765415488 279216259 959632167 719618761 947966482 152138636 424914275 159957789 106002011 432004473 345159056 223459343 840563644 187149678 628022462 918640666 712294088 266630121 643768595 619338681 983931961 515188945 786028389 407267231 589367598 439552102 329219136 149195276 613733741 122527450 790980832 252663969 469707505 790772304 832084397 342638231 496745923 257623329 854714176 547263613 770410937 822496288 571902138 976748327 645523875 218591886 953610232 436025804 290775676 380120475 634809727 436157365 295949586 212148418 461927404 454090486 386878135 164896121 821002609 554032426 461461437 193814647 747924157 877552784 907569934 650066681 358321316 150468876 667369420 466525315 943720884 223832900 464075520 688220515 119455192 708784029 149637871 233852162 763620654 655831977 517647386 135956876 380399459 612495195 840766332 374145586 187170430 468366340 345915992 386837978 882923147 398400590 762851923 762401463 670093285 751836536 700110046 508257797 857856389 409964068 790253174 843814943 668019016 562488796 912026999 616837028 590184088 563628410 580128943 479117122 510486634 708353620 631441339 590153547 563682055 353876741 172430977 827395561 118354812 566101067 762159491 146341322 603679033 188655385 372793949 161313832 385371622 487011743 709561394 580925727 233703382 225922686 426790947 921785564 572892952 680570376 206313013 605148622 978770749 313828265 933500982 304417988 370231969 109443646 805074028 643330918 577335706 875539879 417415432 895948966 483291853 432065878 834632307 259559861 738072395 776180261 224438010 672818534 237192283 477801904 419656871 284822356 302780909 490026903 772495596 376546156 343575139 174832520 819735552 604734101 653108980 290866281 731953230 980055575 387699359 119815851 275877602 293025517 706417232 571589196 609366789 991017228 315812656 392693006 691475785 222495264 699562566 157304628 240356897 780261409 305817855 699932426 949050079 105419051 635476324 422289247 767049216 312076741 922311513 637515029 765439927 744670537 905882660 367616079 470231430 980747834 662264531 440653865 421581664 202175588 424223723 678265510 284798303 106408189 899311872 102787024 292334126 805115302 560803688 378379654 891475844 120506866 721331134 121299342 399114449 967405857 344962865 976974200 213745357 526683019 181487486 966705690 131232448 112844202 876548956 128051362 678976659 737355859 631469189 916306575 459322572 797551079 775486640 860575082 540349976 827256002 954258311 767644944 237127210 698274273 944718176 857029778 457080269 799721418 188844526 340454802 582911625 179353814 666298990 337503697 934905608 470685681 288365438 971994574 234862925 964300951 966861829 140738611 225456365 103932454 386205160 298021950 878985891 415353909 973812843 467771908 766086173 973927083 490701044 755379974 436238682 971776453 985077419 708983357 903150525 726785416 357953659 783780720 386087870 443749602 296144662 667368335 542474619 515530075 739428929 340268962 878123772 495246237 783811812 449026469 183525317 818410490 924079032 352977221 163549081 812467900 831797090 513052873 213547861 862279667 206194830 688396474 701059301 336045248 141635725 777011920 674467246 533006230 710062785 443248041 791635457 819133660 687784541 527918218 267824255 805716576 488688664 582455038 500652606 942433153 739225665 983796529 514952032 635902410 299520479 558935186 820844564 904271807 931298678 637902891 988439159 929717117 763120363 498353061 740164294 760651212 185847141 197673080 549361947 381469503 388679793 767355123 176090095 145959183 207045458 340065814 257584225 273653518 721185321 363634956 523417561 424211674 350066798 983023240 189778865 754885857 432157304 272186995 922131884 990261148 509362618 423987168 525613632 962973024 325391464 679654095 606042224 216576593 319130734 838458478 300800399 727839732 894429352 436870473 762110897 616140649 941314670 876187031 646462412 249325046 577842193 438520559 720095185 541119256 216002729 428585185 494014552 584252248 720492244 111416814 502461961 947669925 933977887 264108444 344907876 891867932 501649439 678915506 502163487 634655620 251276514 747060876 898428452 261908619 705731383 287968236 587236063 559754203 182621722 936096469 311988113 966979994 587404296 222757335 764762728 880875399 468453211 578268082 537174353 201268037 767753816 429851583 303932569 644649342 577932329 576000606 325024740 771073823 599822913 397680299 353293339 746359155 790316339 447013252 342114180 662537221 450130573 156948958 438987037 847160121 837759776 482762978 836441227 687996492 463849275 194172750 862188657 106529131 838917988 541635167 977448412 425557361 578850984 111945618 569817312 921169098 275166306 527165836 351579681 834712236 973775501 570993248 713762940 864644002 372558964 897093376 593463730 955128155 935865986 538254630 182536802 419894506 110641234 191596840 660869258 323494707 281342698 459496387 904864123 260727355 852593072 998134636 490460129 980992943 644382943 147431731 438597085 912987746 159049242 958761071 639032890 912145157 196095124 142297819 268804364 442967033 136537102 978798835 460139445 117720551 950265470 199342597 115218634 415200783 110041387 941120856 498169319 390474187 778959868 477318500 919117829 344523138 282326609 897030502 449866369 787908211 430659719 214110259 664455154 953887379 124115375 574003627 384217242 627240777 553588867 866725528 374919256 898020194 331709077 903002215 497905690 317128877 473938962 582891924 789887924 869479658 258741601 766564002 965771744 629421318 945778587 163115604 788121106 939496699 748093589 697919062 246891824 186905245 167918932 444489792 884942516 818294931 618973876 324451022 772346572 296311735 168919479 908124543 925635481 424553309 281991063 519180985 801182245 619344359 653560455 763141523 873737401 495148539 216021680 780379373 842913394 801157232 184092113 881663379 416931051 650132184 489879981 886583609 702328024 976909645 677576216 841150143 967462244 941270010 435208980 853040161 706859980 926178321 844525959 964857555 757749880 684360027 275430978 575952571 802335611 306646036 486591280 869851373 732500357 477057956 299523511 392510232 216141211 388144582 626699038 811728523 283036829 493741553 346677214 751188749 948084221 190131288 186431242 290678301 852874370 961951922 976229639 912187420 939113754 918718816 270686458 382654755 925947785 435095691 808336114 895003213 963058134 242258915 772029885 184076598 959795854 491236658 649629103 797158896 637311763 911116888 491952175 729940768 745594128 544043911 401825089 559353345 914749096 569178322 839546251 668140257 607838669 802460111 764022294 345188150 597499440 302681758 774122177 263412209 391669453 599858674 580428634 502153031 401477876 227798754 738850102 208348279 907452045 609095255 337428665 325626719 124903470 225701996 609589325 208812338 732026142 138088874 617438107 996361355 211617112 516128134 753987510 732088686 477282395 582624835 968088253 798081500 241473580 612247019 473732323 464848067 552363147 648713029 573852766 405591355 453790378 810946402 585959275 459316177 742392610 515722429 238338344 375345494 894197595 243734736 149416077 511501106 739470803 522590425 944447363 581770209 102605415 623521243 949179657 124728291 551114960 524123200 186960868 816220091 451140354 385088997 321410787 150388337 543870303 200843755 280427903 991263933 972652179 277018469 686576050 932447950 940905394 552493514 882707653 237105012 973239699 493448863 707601129 893283368 246994200 909697465 192704727 659949593 132023457 813294797 497515809 539382264 174433151 524876114 502755346 624691410 856145200 781271430 790355039 927981697 652302289 761888134 566383406 991392247 779850227 667056501 170827855 955612765 709850989 735017304 386421014 379516309 293862020 991942524 336938476 432748516 650365416 686097855 355019804 758952342 318719370 782946642 483006795 101729348 369667664 204271713 916942652 245467216 600443308 880961190 734910563 192574872 494293892 474938189 217464340 862861235 354702044 969048238 646052544 749097199 686789802 534803741 229423261 755758992 603061132 249938347 915290094 552299589 949455796 548209244 812842470 236063614 585302912 102206304 890673038 929483077 651094795 942305922 435921296 966556952 875400240 438901450 966813495 845999178 684311932 909024832 937692681 643295508 681620366 579831263 812668613 437303176 963468836 291451790 698764279 429032388 550090663 127571391 849858860 123358672 308626222 398185832 121994381 396382690 462007852 716936542 744237226 797704982 282938165 270127689 111796525 891731086 675697552 187983920 461953449 419664457 344378765 757792381 204987364 889911635 261021822 890832676 246548229 977741883 122003437 628443014 914697065 583232519 142030269 243832541 561931916 258151095 239021623 167042932 113668214 876732455 977931443 801236176 918401550 558249595 991225395 247584488 729908321 942625294 883209394 687963069 146332175 305614107 313643417 100064652 312941673 579785670 223940815 845388910 711756101 639880425 787457267 747853639 866034652 897250433 249906131 899782522 549689365 433184933 154374422 591259133 242175692 108055673 416049618 279194284 242037641 943759943 949431048 231635869 191496282 794091911 212016992 584737553 203175784 836679158 767344782 297793242 176842441 451459953 897194923 530621186 685185026 560402359 118280773 610093448 768445265 130413572 327030107 525601940 919067734 719395515 955577242 110387911 602624338 264821748 543615065 365725063 536453082 906140303 994540295 974855513 410090487 286818421 512864978 288157630 810046217 100434316 725656520 265863308 133184913 319483044 847468799 137133018 222376360 474382288 216251814 642989738 486567847 712331132 795715629 906083489 781071401 501318454 884584991 147489950 922479987 497531515 631117738 326305497 207690197 805104183 741785043 345795892 882586427 148683847 891011474 982558889 236713775 296089870 618393529 484413749 303429426 662934916 308872932 726825186 527522014 364787446 890924862 864165562 320646743 303898113 801294710 408753712 201564336 235950506 181069511 652488024 168352386 260513267 340420410 938389942 727431926 530623732 815079486 285604637 252308264 133743346 121575558 558350064 564792786 654682990 761282903 810905504 618751881 728000106 379355483 644921173 137137556 882761152 467670257 505571215 401482825 928604910 406997902 984927902 862249498 586671324 226982486 630648206 981749036 147082573 275916291 861939452 830782203 235768519 853969017 205503846 974602176 220322413 847982765 855120711 691373075 578870657 373375178 486206465 369805358 422251863 252567516 313771418 420609860 845971585 854024784 410349537 504609405 685869298 741359199 578804092 193738431 284005674 657943129 992968315 614953961 613031832 610648056 695077419 885105568 528132970 514972585 741128259 645873200 654307946 948088513 997535487 922765845 809662535 412227893 235069833 241186605 252903147 268432079 320818271 646493900 400359462 958622059 431378126 890609801 132368340 150833475 135928346 228743438 407594092 661581505 693898815 799732324 344840345 419612816 698875628 760266324 583647378 547985960 432151920 292762727 428591524 280295672 543823939 120774512 609606911 895623312 789218517 546448933 468386001 630737033 449253220 425699742 764230089 428826760 695937534 602571103 932178725 278600201 886676321 797263192 642371279 684719237 622818660 381629809 210228776 645039756 257216878 980890112 760513860 426240950 927779173 624447547 776759615 487284646 328286889 923882320 463272632 940958968 193305088 196694588 833034076 551945184 926024961 876586785 951640723 325096864 272854678 213435298 522184815 535454981 277227066 913003015 773257196 566215546 258855168 115043335 300379956 970405668 786931810 201940558 893612759 854107475 580743210 762151055 409897495 684393448 871802733 982731516 839478484 719539324 156291074 866986470 672492148 511775022 463010921 820855524 568399103 164476311 928308172 304048437 877389181 186677835 430159243 978697973 147193898 749530078 136747427 223509710 658461148 448859602 562360502 204418495 694543042 182780383 576381219 285583867 236645565 650904683 411513901 632086950 521621978 711513332 504225819 150191771 213995411 626071331 932090243 616544175 154101748 620847023 739091838 768626071 409648247 762083345 536643150 115549335 248432031 901673369 345857485 906366282 214057626 197441302 836280945 883381706 775399226 569933139 117770077 610603421 856987083 544414898 906327881 740587657 828067677 864373077 962747243 862929129 524745437 642615735 597829274 695706640 459104722 439427866 608785121 701387934 771288268 149922491 237616665 839077654 602031888 628424695 135192358 977761068 754334295 418095463 108384619 753260669 652364580 378781986 662588719 798746740 135009242 430903333 733276069 328176377 304071035 869224732 227613855 225024709 267636988 946051995 129784366 921846439 560572659 940856829 102072641 989957117 707022073 191762615 365201301 337783242 675560631 438648984 494939413 678318686 112349163 817879430 472094740 231294494 115608161 803236910 991853659 551567550 967078480 362248290 674363865 822363750 544544412 285959599 103812498 949535501 267274701 754799622 937088727 433829940 835242541 385290834 755056179 236120638 435056524 626788405 398265706 103255984 252701876 254132546 188652764 936659001 895952443 365655313 742331271 805616853 922363708 130911111 594552908 929131401 656602402 363279700 513755244 882591903 801428442 926137164 693144705 953604210 178420340 514810693 499361516 911806324 530106297 765319431 825398585 389562351 190845204 920807744 521317527 611213497 410515606 679658935 754570094 529111944 473821837 216881503 403154897 897735347 868827518 979539947 972436190 128428928 346904065 866656136 118387587 803893362 845993478 360303490 188389464 191920202 327572170 482111570 764863193 242454198 525458557 607194929 228347695 849972577 816359928 981836351 581968273 759298674 702010101 551626445 536596494 101700729 138011197 458759468 489411938 153125962 161105662 866924471 751713751 457679665 406398732 708081439 459970398 432669127 143736522 174885012 611665563 738858045 767139813 289772150 720186374 232196797 841633936 837434855 234829647 633354948 254619410 424404649 744819903 390380365 772937286 559276785 444533884 265534528 799325006 806308917 609142712 257969173 922789723 841968265 700666515 647319236 527441741 247984965 928972352 444358315 178976531 403944239 623243585 459545092 739809474 408836854 310121405 726705325 717978638 780543904 326123721 191235021 406010014 619645133 210946209 939690108 472981528 817749888 778130794 131512123 659583045 803700115 487242973 587105035 941466681 253795254 275470792 168494480 680860114 211306360 776301968 864697829 213926985 710134016 196860719 945503092 118446401 824910404 524346713 401605634 426898648 381425080 342731644 282726058 144147808 941746590 965920971 457297084 119151412 767979187 771011091 443420720 206967445 381968739 908452007 563031807 506141518 998333560 785103654 439744180 700428545 530132360 906437586 764768325 360963259 590840799 911810617 210529908 831301512 430110785 144458763 495976633 645520432 599648335 980516655 323584495 572548712 771123073 488884522 787441946 827071939 100522410 787559370 541256463 849505592 386714297 526089876 762352197 700665501 921936035 138270715 318429268 176559604 722163844 863299345 543948437 660623466 759488320 968115606 727067374 311153537 462846673 637274516 540663603 850334521 736866984 595004662 700161406 950206574 239765062 377686550 707312464 298813605 576790248 740959904 370639605 524789058 773421623 121767659 129450171 502000171 389996314 515721901 629068926 463288244 552856735 948892111 418348636 895062714 984354284 943415014 739558814 902762499 515272787 285560696 666164176 951626409 359381232 466501337 271162745 412208630 831277080 520346023 302070873 913850881 235401335 638829732 381912367 782303701 552158783 423364392 884139758 398459778 471641083 971059122 978032974 847901530 551396200 711931970 904868532 803184273 439506229 250776744 938046707 692984091 561422509 837144941 123154420 800563232 779434497 808699745 400628582 447264690 579687292 553144754 948995966 781634895 241750438 395875499 996815260 682634287 459314419 764387905 549991086 679434377 256395005 636002809 316003859 690497079 731750157 182413004 967090863 525115807 934001705 877356120 842437032 350797088 395308382 378284420 272998507 810804734 403012529 438381248 375894534 231896188 478447476 279382560 528941949 632579341 650925795 600483102 341710838 680243480 872825637 585651075 206968797 281927159 767113030 715341160 421270243 755629315 666480447 662511981 488447655 423198976 391917314 292185137 743899822 310122495 603999705 633552967 159050772 686923340 495969551 609258747 684385476 424588029 662941932 399552764 449639143 556638106 315014780 237789348 303845211 898615990 867991494 232239317 229850939 846151647 846099668 422464988 311789836 696812884 868538248 898761773 601015243 345393941 494269335 141815138 306609319 405167655 779356930 783401009 907957027 101446975 291116818 812699561 290589077 296147483 367159520 946774870 120721321 330767319 687530097 200462917 355232608 377736536 531974660 759493307 399403142 759037170 699440103 522365852 592805140 463354769 770556843 323732022 876954524 840886860 343218401 672101118 536308924 729284408 526787112 513266713 593645730 614316787 454797649 374338853 947629575 607932182 234120629 292155927 535140721 567496344 577212383 919563243 209266285 779125480 100587135 592270331 899710119 600863712 161686588 906329517 647672371 785683427 521395762 564257253 382496953 883958958 926399155 109051037 229623924 861350846 703344409 488496575 904126567 117455521 966434760 441982580 519607748 669750248 439598442 539512638 374840527 381647918 102057254 226097448 391199525 969748306 428600594 662048484 402939114 576324282 265901485 188813979 539634446 151912591 877400331 951718723 558116829 696904920 970333271 107020871 690397992 503672919 508632883 859265243 186830682 479738186 576142939 981494682 214131259 869241090 580037390 423421824 379349946 470629923 724511598 922490307 800138653 494854149 843631086 375050880 608180264 930614111 276523387 739880406 790683133 865252355 290082947 453534716 919435684 928635019 657087049 505503436 246431979 977443699 595365777 458381459 399208073 722959240 464971278 920508720 882146100 873213187 492444266 539520892 356140005 714483128 218697390 270229934 255463556 930109636 605935063 121808620 802249050 304077173 681442351 852601143 320185005 869796988 278354862 555524342 782716372 873287031 472202846 113754956 279715986 883054011 128170706 789907206 371444134 478869527 280384156 428768051 847811909 249991321 411284700 935247406 394961888 378304645 830045297 157031273 349581009 982732301 298348776 500018052 254612694 732847858 890462791 289862543 234912086 920379123 301458736 555791177 609205117 842593097 946969090 896300252 337409211 826950513 319285044 771154955 893111738 465869692 971689335 983592315 514469196 500224386 434117544 779298150 690169516 626191243 480823933 490240729 105136843 374269575 701631317 404222821 797220384 792606347 622273935 789756457 650291482 177712428 897550846 463010915 567855408 958978696 642029571 336979571 534907625 402149220 432306090 139159451 261992215 373965180 866983159 901747254 150323351 956069920 269528999 954646895 959741192 484980518 621287444 753208000 615802497 522327604 773512862 394890721 805157258 349996267 349831119 232109624 679233463 340639149 180971453 558117913 254811269 527103776 245838978 766716303 647518710 207683186 408269930 271718413 909409713 482170211 327229594 760719891 884795338 468087942 529931389 739271436 400176115 974018571 749199818 454876239 903459753 697737793 988359877 174100683 425975997 138954002 433069519 132285228 364649077 983535304 679347127 141440020 601120774 864191545 827250216 586853244 195577001 155105304 570127843 947744207 456462565 507408097 174358244 794533658 792204848 733895513 969082475 454603216 592696093 714267617 500041583 653203115 586905344 867226516 825185704 748007532 227499538 597754456 794132284 655007511 957010260 238159069 226931459 846713066 153060703 782837576 368095827 727565456 300917301 347225423 826693472 996222599 964171793 366106526 858063821 922433973 110629523 667307415 710462587 597030343 512398783 777478263 542573135 322226778 183603841 386160028 661949326 851054190 316261516 629892833 623718174 590310686 394539498 770214594 919560030 351362714 681429450 566982373 775064753 609180016 287537231 212154369 347748700 628646386 628394758 366114064 865774183 455495015 314320130 140886279 100717791 466144314 948454467 561548054 261254204 878518784 538479990 965274645 853849945 353703379 641494498 651545221 615222303 127029828 153328215 733282316 348324854 895623710 455259582 410251828 936344232 995905558 683714229 268844308 850515018 115892200 369231753 243481301 362285412 624955902 268614464 893066746 483780294 692834346 972925563 183131396 797927291 385103038 691922533 602957094 220314834 900644890 442663613 681920393 804411371 132679421 491749088 974475955 857561208 567586137 108848224 656628765 929190085 178108585 904116659 989427653 770452922 902801493 830146646 386951283 748953872 627609234 983424253 406383444 815153000 547331207 536526087 717697089 326549395 657428485 434565815 224433467 122845036 966576174 123984771 236463655 640417386 989337612 518050235 244935198 367353588 632729484 733322264 760825589 597902009 370611162 341827955 598883315 138870421 495948486 324734108 819308806 569205386 203261803 820377505 773507756 365499940 431623692 476222940 757635514 254065404 419893325 110594629 107913796 173758063 924677925 316330183 571088556 996319717 877731734 890298886 669428000 618702601 361330908 613821878 593377471 590110211 771705037 133835084 537348192 921148503 349504802 486993075 255996742 699924405 601179190 743650385 230109360 408564729 507705347 829224843 943453309 152599956 610714647 658907596 341534154 173699857 695361113 241232265 205227571 692843581 587609620 848575059 580150074 247560576 667992666 249360639 293604603 722307602 471542182 391734962 160187675 864879615 711543190 645258373 305016781 406564037 488092118 496841258 561226726 970881095 462826550 835900314 417574083 911483641 744311073 458684525 483627130 489742362 868622461 117778768 781134516 236483322 378939779 255625791 563020388 533928088 492553434 965194894 516591071 658775786 899504113 271529392 956914119 945880359 835891420 825178940 295376929 878349691 245663037 477486204 672112134 157297975 150184340 487892498 696243655 405023222 967225713 396162232 633658988 873213531 215284327 135157576 549804910 431932931 489905019 797759492 434120010 886304393 181878266 398557975 311338087 727893234 970199070 736905425 227196873 108919589 198167701 402692903 239385611 347711254 289760448 481359121 184886148 149914077 371927649 769020628 962866201 616709274 219405741 281485549 390122456 172198132 768916959 174622526 729829492 519859916 560595470 325428121 804638533 123734718 583966681 605647475 492878971 523569787 657574271 221243062 154414316 755616780 449143429 214416189 309846864 916147558 814367558 131620813 527235287 923886955 320296017 866963329 126712722 355035300 897912580 692597790 524228405 966843578 329013811 774727300 566571657 578444677 338624526 152918982 363071865 771151846 250222844 216337471 591061857 597117523 835476126 203715555 483664738 718497731 292373667 986933951 310241154 121430099 565966493 153764233 578667346 617750701 293198764 255624302 611251926 561781511 927064334 954961439 113361323 414434651 902203237 145880862 272469522 286389991 103548106 964533663 546403927 838292044 250143398 930274668 384259738 726864992 448309164 943755884 866602013 994636208 358516454 299140290 454575603 680843833 769594313 570260839 340602759 961568641 828320150 257214791 713208088 398363929 969818031 126059684 195366403 249021492 865090076 141439781 872218306 599601610 326459975 392148142 283145830 845260338 948451526 803787719 933404448 896930804 257355191 206004235 529730474 192966713 672870431 875851832 869662406 330849663 455555157 441756781 372591937 608092418 262136185 985083818 580100281 653391938 202218541 687183381 693142145 196647474 840768365 359820567 223290956 351050720 970727367 203915926 338151478 569670805 511521225 947185925 153303347 889246890 830459993 434309928 732060518 312871101 347923632 747869248 685582864 561085539 828492447 480747023 171646320 656707707 108587939 851122458 292086101 673585521 213512837 871325600 638282303 269971900 904302285 659406466 672388514 554995776 363553080 485757793 278918930 768004856 937315647 809290880 484279952 375528863 422855207 124350946 769458166 102382492 913661298 327738194 586292039 838481934 492521644 128449383 853822158 463636734 344087620 248550979 449638370 974786135 235232473 825498571 363094559 575710670 143315015 596714490 326736710 412603896 881263572 622277701 255707013 456356470 499794836 261915229 409233890 954288879 857129023 975925639 692765230 760732876 648519597 525996354 822214474 285077417 881997005 696297227 732825324 615484849 458273821 918235724 188716465 579109217 871952991 963863837 489362901 297990993 196420447 604072402 782995109 809238630 488297124 699962766 358497515 709802917 605542147 617067744 317871138 707504975 635070025 970632399 691192314 898934708 779048304 392431645 911247989 143221531 895130362 790208225 887976870 996426859 200235832 279901967 793955967 615440744 186185090 598228924 308776356 652388483 850665026 554950132 410996804 982097879 189541162 735017563 638576017 614433636 142478457 577206692 596322241 272136664 938971279 422958799 456935921 281487112 977115454 628499117 500960255 624297173 577462655 677589989 202905572 410977611 371531404 167051993 722901826 971759931 948161803 356674773 962352186 116100779 941177685 925712918 970214459 398097059 874380565 742061373 376008393 649245141 959750765 859855310 616885492 584772633 735310130 855683085 760506881 159793090 246849576 420791929 387068408 515809159 681471978 757728938 487770217 260894360 184854165 559003680 518272798 827034590 948548227 516806924 991017764 773121778 389699085 200488154 849308693 373036668 884105676 305355506 998843969 738995638 716418972 975396394 657115175 738452466 743855178 539695330 919554447 456128242 907472465 507714980 696492682 645232167 398892295 809867655 309466118 651646657 268219864 296780804 146566507 618991368 620410133 708459092 613509247 985502650 994138706 961634887 300069928 539868924 570332508 522686410 809127782 421728028 302431876 136140759 486909716 427663750 790669587 827136411 133484159 659451324 854628969 820743108 113246416 802170001 501670562 990658655 715748758 276629612 637628850 610845155 241445344 783421494 641409397 395791543 168789399 283793018 448929464 164342348 129671558 451941479 581815355 972386000 353732885 232646504 810199311 859734269 533620540 577622576 550752472 699006389 359692331 838842998 572312947 347963371 183621381 694892618 192936365 511334929 821249002 563268724 860164920 191343053 852280023 456830567 306548577 421458902 935033653 596138950 221764874 565881227 786939716 552367122 644899188 943596547 827764598 534409743 612551941 648756261 126600356 152140316 201069636 373866170 107850190 216431033 918257546 911764770 442005722 650363718 389046445 849912437 366099458 454478619 779362570 938246501 274393577 409132220 637399907 943763546 702693073 853096022 654549069 750978181 941786516 538208389 546502121 870340240 150874401 416177687 426903018 528629320 261109460 298351653 743513021 704293080 492876175 797129740 707144789 152960252 971501135 612663458 582897943 333742760 934146800 929155443 586093066 367277544 606190441 380800627 972979859 233905010 456250613 506911802 149473139 165274084 301326678 735229369 249070529 145959709 643222462 543586681 585897272 468305095 710666919 102253421 118673339 261898878 765274762 713647109 996345262 692552586 903851042 414299682 803563899 557574028 375900274 132482790 881062017 671317404 585159382 436520723 277875070 150740040 714710146 384487308 704091054 486918144 478142281 896583040 888632215 699727455 491177723 843523848 255829394 516971506 175509338 467181698 146652175 728026388 298611493 403896311 936653262 272041881 305947538 288625703 369092188 725393013 291066163 379047782 338007711 338297617 277953348 881007327 213712308 163267589 542069065 762468177 183400934 470440962 148562416 536475686 904123414 592358088 642407689 307982127 521188504 928668213 610012749 935978417 848245015 630718620 483797115 881992107 222348617 327257736 230535549 988823592 177961286 951010242 586797321 809036765 885980126 303746303 271824262 367288918 875202451 974890234 904484835 808561307 707248915 500872841 630643958 285039750 383490852 328295621 812189587 703549300 705454308 925359919 978938598 779982763 277966104 870195470 275475210 626077156 852723500 103054319 696960839 712665564 916512775 295695107 710205315 747160080 209669579 374438249 285659426 943548739 590703637 786709229 827566498 455101507 673186401 820240528 383161778 135993311 811669701 581771354 102937460 909111579 266909543 545512825 657691236 903345149 854570678 326075475 132803275 350520991 871729418 984879999 127879096 700263373 119761952 972591137 955080324 213203985 590697839 985247651 643940506 113359673 465576156 811271613 331132200 450782960 226497601 851040375 639021372 668939003 437542690 618807183 101273638 657440247 130227793 813026370 327345686 601373466 693630923 632453378 891075956 222839515 607793808 446844651 762201058 944036347 610650618 989034403 656796631 319637700 722596012 791776223 852102081 660016837 911838780 799433741 102801377 738532341 620563950 411467111 463915348 566378345 434737999 112105006 166434360 126353686 744302449 623039495 437675314 585803618 591561265 575782691 663347514 538548996 134800421 620097638 884391196 131450379 803873868 810258234 830808165 918596848 999014044 877981919 542672060 626553884 727578333 488611117 776467273 972737555 731082945 854810854 653681360 904611850 287239311 890491765 868528134 347075900 798386997 600348072 847546034 775719707 316031308 709111861 394956096 571457791 807976268 641244527 136686609 399177282 517591648 311749614 340811058 636343475 118283791 288342473 780000764 663759241 469245384 485450621 314851471 251377583 770411956 632734770 796888246 827415204 359800225 529748373 462946294 867757830 780650215 901135022 514310085 401868007 746077151 180988820 880693217 882224780 336938276 728135451 820854488 253702089 401316030 187621526 566709210 648167566 677387467 720735403 863761983 965901618 393080340 158271648 902725143 463098077 374523181 884694405 843854437 684135110 694445452 147897521 810391894 921601633 212169104 430300351 308210965 244872385 787749926 593511621 272032786 435323488 184350422 880986601 272804349 401144592 306912201 732339876 930514323 507365448 822263981 645082807 698103695 546763785 992108114 472066273 620124393 420865729 604627014 375979744 554108537 137114524 847934458 492102964 967967777 441157982 585702653 312169285 965722523 795733792 213877717 132336059 354765174 350239872 614533082 932179322 280269364 200341089 981983015 604527695 589547063 443448122 982487946 811678897 219110114 166028906 671313277 543710579 371249362 603661752 660116265 596096886 474746918 661106231 620836601 640891388 652643105 615182376 442324114 645805788 323358490 724690821 887025001 827103992 802346333 963004586 860022547 143551448 321740735 346922647 870339997 273113704 280467088 940720526 954526789 764075862 409695680 728898465 133858753 512642677 620072930 826190942 684396511 601017094 637495150 939707438 366278415 387221555 105177053 466877737 729976211 294748463 315202890 594047149 606664951 532603765 997723169 645615121 208862655 497982601 651198252 257141487 184808169 126780288 989688348 902363961 106949736 438072202 923236952 447457647 205861827 430199929 476977290 307640059 626677509 222072774 513005126 537331613 248111938 648493390 103186182 611154997 590141399 327952178 610549720 613413861 613487952 959351692 249076030 106305224 904115081 166893534 508328322 544439367 417834535 806216501 988069922 560037342 320668744 335816833 985646662 239090717 701279439 334503947 722019049 845693367 440869473 457807383 418053959 498020774 223295891 883266698 954959608 489105840 590884119 370365368 207603201 626270279 483115462 507834078 760868094 347371972 150178724 576640455 763818579 792482309 287128506 115467391 834282091 886806810 921267246 190394178 611595222 176955251 837444500 918940751 918630705 814761029 332625771 543712800 775976889 473126511 626053274 738876894 762504066 716677773 813072180 473341670 935439618 489167282 368768836 426629924 978681038 737903955 472764572 729095977 857394478 854237506 679221158 869312571 151759702 885790415 572367310 402222141 879143043 296184742 496398382 614733501 251257637 918661254 147724880 287893717 643270780 919772879 616503485 654258153 104091107 933141926 550091401 309031714 211276045 188134975 635693756 216806107 637755912 507663042 778296690 908753997 775311014 417597656 670291511 643020475 140931091 920940377 203651920 278501084 316868849 566117685 205924509 786587052 894868270 540001509 988190605 625257994 195639459 842532482 520628604 506733414 196575926 510609515 468930884 575297482 553700161 236536952 470878280 915231050 922200705 267484632 967766978 880802134 840717250 653305055 927463271 512316540 179156292 684731213 975992104 749453533 582332151 313455034 768029560 353244159 511880506 640532728 816498392 933875932 440602162 710440809 787491033 671821346 370534161 240483131 550508732 109032372 472413421 502269612 278695502 388877059 517361362 955487353 465114188 307565791 739196930 213526698 432008791 726022818 643648123 941385090 494720480 741100757 615551990 913140237 694511136 559867849 715912944 852416206 186067437 999962283 447353343 621934500 328750881 409561787 651608497 135984260 164752371 665185786 645505675 368486104 807720584 624369262 578368536 941172622 742346652 131831865 726231992 213527439 870131498 179775206 461909031 880564899 373932668 533764997 344534314 231719574 126576105 226892522 412426303 904943911 600898864 765257505 985737224 529276077 811938298 338694597 188350231 200806796 398957503 724601588 663455072 702958674 723066598 599779418 522044044 160044408 998320449 334757037 448813527 604632656 896880425 591318100 554433611 992796710 432384517 661910949 832991783 539832931 313845915 176286217 453611775 721564326 728968844 439304997 558008964 805393570 145337289 630296010 709128569 528136383 371173868 408343715 638877121 326589829 966573785 624950844 888835515 189413904 781861276 338219251 795167821 736873631 759129734 473495378 348991275 965802193 628323494 701042369 348641324 359880616 805258581 139314318 916639099 287313319 160763710 387919747 717328978 316730967 717378158 202537203 582546129 125489445 705061128 308419989 923082859 601802457 798123430 441210283 859536994 175985720 189193558 748354114 755525912 427366415 943946234 948703662 980412077 527723980 198402101 990750886 609721387 765416852 977298023 945572008 165855812 214917496 311781941 614443591 497146414 825012043 912166467 651927297 625501041 530033214 810800197 914828167 376292474 309913851 699220132 839982600 156005357 205903614 409570837 817195807 409833114 467525346 634142835 369079042 689699194 500441896 966519995 386311579 924295805 914722045 888841369 831573701 307074339 456693730 202402663 478859007 101775417 299626234 336809202 146071076 187286103 308233781 387014019 564930684 975607964 654274553 722891197 778803340 933820440 819139924 722632818 985487258 643573597 593720101 393875884 267104513 261044563 762202917 933136547 581005562 427808693 629716039 908662055 723927064 363666813 612915032 722404157 245295314 792063621 168993321 910577648 241814712 170371323 404503730 237733586 687976521 977539014 779904897 718125981 399484526 226017637 904355438 463861817 553183911 921861676 822030448 765286012 771490222 470165387 365259553 895380943 224764790 787885588 231908075 264418694 298698426 553360679 334470382 278258422 463535814 633229558 624785255 841557051 260527673 207192168 299762794 805340697 634273054 108123016 775431295 700731837 629477992 543956715 865993599 190119548 130051117 126222959 451477232 671471781 515518384 422046000 267477831 318888934 734428376 386079653 755336441 724414912 483614567 310453621 825749013 597185123 405355515 972843426 287662718 245180024 772499385 258046761 937576965 841413862 901478437 886669187 689269468 390216565 704248157 744217112 790845480 775748710 250359228 148888529 949553106 198858141 903322683 956734515 239184021 188558074 411284328 502192587 608507699 967167937 301881112 248237273 774464624 815156717 762229462 538265348 154136314 986373491 591248913 520834894 773479463 483862385 551806684 958141092 291648457 589884051 199657331 336877130 244614006 338574326 138928504 527575238 761212457 531192049 847703194 404837835 362099193 781110713 207134556 456385901 989714026 412769287 173658085 453770412 635511897 186810824 522381023 785156123 928177235 486125301 811801518 207621836 582082078 222290665 823948157 447922748 185312254 344296434 591568317 396223725 900073999 409217789 713857433 987451952 853791071 970970035 502279901 523963455 949105374 883751612 542939681 511354465 448146711 494354728 876877789 554509649 581747279 430716525 202616112 244139503 518477589 442297792 202620651 178814656 683887615 767067706 706083332 236840504 840478911 847287820 784300061 445348055 279801121 432383539 973147369 497674700 438339668 954505548 153187513 820088570 768693039 648878302 255578922 556799801 255022186 972465470 661540289 315360815 254894717 443593196 139743371 705367633 234760053 270320296 219923527 373982757 849746217 794111693 270311808 809693871 727197531 401704632 939307768 772713693 127724943 482193716 157795917 578051898 661838792 407105585 492316371 911166270 842218761 335147728 218773103 132361207 475963497 672392228 956274572 243015790 349277220 404965735 527790502 302036302 375798512 345236601 267039186 681712053 923738165 358527649 524709516 859370591 666608065 242966342 616359005 641888295 899529953 251131239 110181552 985049515 352969658 967377727 154750540 475237591 935878252 205302280 602664474 261412563 418864147 700437783 257021589 785658915 518531278 490458188 679156132 886741702 246207939 499857596 334237002 974632488 834663759 289791162 569091117 881874403 500904943 958472101 251060994 877942995 417531099 217325555 862392601 413396155 293749318 397040326 741232735 640725776 952482408 154039669 878815865 906567386 255870430 489425098 820874971 731068550 533349148 635084231 208844040 840231283 587104388 935409922 119402476 685130648 425438728 847648554 917220360 605675716 953459735 540254641 926681868 546162088 154140740 446592997 118949675 616967790 373887025 155728187 623028476 831893300 990479588 193772692 402299027 420475121 800715285 230506898 100407850 367264376 610701806 979868408 563318428 879957611 470485855 914583853 225226387 656301130 648382921 600201633 605654086 876225066 161277621 788086235 903207602 254266789 279333791 107117253 552545058 906185853 440287708 261479242 712063079 795944476 766376798 687980716 280639099 909490265 990788363 531017398 925546804 809979484 522357203 883884297 792394530 253659040 659262793 100898293 990295401 861374142 473659152 877529673 651253603 249249099 944736587 601668032 924464288 120333268 608059984 900483422 350710440 500999578 830451782 814764243 386365538 821739561 427220416 599739617 907055765 158102546 149299697 584265354 293330528 361029480 583392654 614789726 592088946 498689549 235388032 494388021 207614614 519465338 785664958 224960020 116214212 952855007 605541162 901588655 249830103 490563422 841573245 195386241 934818493 224453953 412738930 916810417 945833618 336252207 991291467 477778046 265085563 303874024 857733242 634419355 815657884 817555099 314969830 957312133 537252164 549217642 875811153 908575322 151491183 817281618 236937378 843071851 723314066 885033487 867091087 235032276 462183300 941982978 693089100 643117136 478455717 624650076 692603516 350892313 482622721 622934168 966345293 253477719 534281827 557562798 507496236 443546360 336587802 371478708 653426867 772384960 868709690 556774408 146859336 565069837 514985149 455139272 375844025 829798287 142698538 343189244 997149706 282464810 635292026 511901705 301195990 393896125 602363532 326050587 131524977 191415759 437359867 508456733 822082478 388524747 520826265 496711038 713083302 593305340 262611519 655178437 432358473 318452958 730101551 883457373 853825641 156545145 775951654 697341502 949335055 291336969 108608991 710852309 301715692 348171806 564548179 518840995 792742491 702642843 572707725 245304253 841276459 322815361 609766800 238812916 920077947 707210945 125622242 357429179 209469079 998904204 202837835 704513162 841031549 888100062 297285951 111310066 466371831 547197038 877131133 603071014 116738667 640437702 203512118 789863550 127211214 817720621 530150244 802785715 309068560 341755653 929292278 698637426 929920108 149364687 681601233 371917324 285426167 375107136 243884397 746634882 512944389 759640639 145806906 537070570 745147567 349934412 831479461 641284819 423925339 388048045 506563422 927543516 262927900 187531582 140325976 914250393 650800846 777214661 670099664 454320482 978132453 958933257 781550624 971658017 693797515 638511080 505946555 514172903 958003643 332467533 439467182 118290209 280902217 510842510 694570741 410885675 571624304 251467177 512490817 463840559 985519404 298377933 564858010 471129780 253203517 430155790 639515778 431636357 260492670 964897124 502673116 216853411 946600398 619324332 863125573 196101807 515852953 272948359 927775400 842818172 137748008 699690603 511880548 234487780 723449864 430217389 321097964 405820226 826703191 544696893 417473550 910333037 405720014 693471339 139749718 446006425 655799987 130087655 985430142 263613707 136971169 751722963 903625872 258014905 310886119 774240292 851444727 942045456 123874752 934662200 931076318 748075062 262286629 210750876 865935177 752579085 682599526 275421057 301703715 745849703 299659316 875092710 503760640 167327613 363509492 743916582 595976960 194255994 999046569 943480011 602194329 758481265 906533935 546743032 791156912 328865221 831764710 445567438 424678085 626949399 545802347 961586649 676040002 404620678 709199513 263926761 748589342 577675117 131060509 499369389 750874682 729666747 993728721 201320300 106644910 864421001 847929444 456856356 229158200 778578211 617933764 545290491 564680056 906627452 793077701 895528691 807319274 903096154 466237869 495582787 142908518 839170179 997060848 611967556 789578979 787745868 931385378 440959951 539074379 286250840 989036462 537784544 312607177 210705639 298796413 828416421 214803293 300620320 527298080 551210401 154567150 360056335 258946463 522187068 809699751 672411037 512122451 954256634 476995901 973845248 166600760 225361286 840390404 682304363 367643723 903920125 929678223 909248625 890346553 201176258 286567274 506940714 775722350 312862035 511608498 773489002 173099652 843438671 138607201 528235197 422410064 205553960 375381124 239644396 102569925 842720628 691544507 241641794 430584678 177519695 216950704 892171250 344881187 965548198 774146156 759919101 621037322 855731855 646444836 437799636 470221650 778557964 984769114 434803973 750162175 630156112 900443686 869460954 730287854 667191492 556553100 680082547 113360473 511630226 577215166 371234567 467019855 674290978 130784988 899581347 563079683 841735185 497359948 685900513 538578848 798727297 870481591 243956525 305364025 610770863 864688133 151934667 442469268 537459710 935190104 454382673 856887514 821782261 638278109 218946261 698617344 561635908 702877993 444039487 645318589 446666109 330496310 386045420 233403401 740876320 253508702 950982090 897192107 395349055 944727533 749255262 601847447 222751527 587954356 955257321 460470829 390509272 544941889 861900010 545397948 494118163 882192593 855169530 773808793 653717405 187248249 211682469 100224056 993582296 951219799 622822059 229493417 351321996 222604350 951432578 470405807 994255997 101339125 113535565 546063239 872905050 712755567 140842925 836731219 972662303 564615521 917870576 411596692 641940047 184273904 566197671 376391097 308844053 141351897 858496117 746164394 665172257 118745512 790926404 268155249 363056682 408468110 851177489 523017706 694220289 609093284 282933350 801713921 142746262 761433292 517331658 626266833 458068803 844925925 375939431 226609561 734419306 111623154 531889615 259783592 231687775 304472644 626135594 793945463 205907817 141156052 575640057 753439697 559590835 905480536 969533328 121335723 589125205 803806678 638187103 345737827 792157687 633765816 622005669 832981037 787820812 750511649 462728605 905812598 173259683 151928046 589975808 442197962 885847569 266719183 792183494 858544397 855442030 171785075 106825830 250883964 259972695 757502415 942123611 490234585 682006292 490160353 745462252 167227654 473040480 410105393 703109528 508944978 432748038 559037737 790712078 602627757 538574153 430860578 501959548 749448075 761702655 600606600 731647208 308364851 665000822 528077205 618493981 708857732 704903756 878169247 668833738 401875765 610920233 456599969 598606728 254416383 220931571 658624429 701931238 288064780 853143574 469394294 869213243 333744453 686946882 789842577 415201933 597162025 770052356 619974700 291144113 308126357 455305273 595695759 102715863 410159967 600217439 867545111 900156327 864552205 166426980 106398559 170017548 427786243 683610983 912788414 412465197 380414798 500785933 796078723 671769898 492359423 626546137 285960657 438401556 470070834 742109128 764837372 969603749 249652047 364404502 936029405 766136022 414707118 806731861 255946927 304623170 801417404 795582761 846640252 540568136 151361751 490243390 817450118 201745708 169086841 944972526 873150693 716044342 408347086 496982378 812559659 575181344 838743324 620610415 201423854 400869517 857696613 567218363 801640724 333910626 377554843 945252446 858299135 184020355 129233010 989854431 638502373 228270337 805025031 392383852 633999049 380576740 289686179 641431983 497855858 939583638 580850187 476088106 360583359 537476859 301389136 297709027 371626962 233318707 781616227 584884014 821958338 374150527 889438686 940562421 801656787 968140916 372226822 523049239 893110159 307923520 483854719 278323809 899099098 428969982 174985980 369642519 872624466 489068181 491991152 883892367 828063125 857002552 983635744 903672222 569431083 990188823 932376460 140771397 815101397 865336524 529112612 753994391 452281103 318155363 304364093 738546845 236301227 874906956 857708887 280224885 580478444 723696372 878883347 111140994 124229698 789062391 561054843 575401242 924023681 530545887 977404672 800292435 815790739 102055488 439342006 584602361 482928903 935815135 170153287 854794055 570801043 847710525 786472084 284950063 869371615 999032932 152476406 442890221 154579734 680886628 143805493 394512564 580919498 904898115 473835557 332446505 525095302 650604594 625809547 631463183 861821666 719664975 412931544 917927359 761357721 559933316 478131165 204820654 987765016 115968047 707260954 317396285 328431846 846966879 457721092 351057074 616546996 467777774 801539690 911584997 644976157 710283248 537574529 129099656 122419971 623343654 215683072 979600265 182486862 193533642 518626736 611596509 523686086 421761696 876475594 903808483 334055540 966072280 141330529 431291674 912102755 308218545 975757020 163442978 881072955 853389545 651913005 655159723 303171221 876795591 921169497 763961127 248690463 822105804 320843679 857057045 285346143 269519347 534104797 574922048 434979156 532677832 178004926 580777130 853311740 356234925 113224305 300659800 348268492 740791952 498219718 805521982 851411354 655110351 369843505 917231027 193656876 564525490 694049516 565442718 781631333 357784513 608585103 354024582 455752267 746022197 524470490 494605811 598540047 657648758 167458125 700529976 291238146 973034625 961725407 916032377 228761301 272638293 706358781 511115704 633710173 682998177 900998348 930719451 714175658 860851872 769850081 801942768 630936085 339471773 563517822 793747725 579243736 787425155 895585857 501264259 386061685 687065556 287629268 932480605 469317057 368616927 213462919 201770398 495706456 341661435 706536039 696459715 721925578 472291154 264460355 263564316 679346752 882788823 162037795 956449957 279547160 289685060 439249861 639258452 125558908 458697120 207766550 608589655 820973687 535891358 778233055 273230185 682748345 267722737 361164321 938174364 599620791 902331352 638073837 811657239 756457753 348058324 637831922 514354409 779092697 861108536 325969612 440159716 287332761 792648213 255345812 696818680 865939065 269987750 380462858 344437789 629675151 912078066 819425212 268805576 130696435 895310435 737721860 633816239 470803213 390001284 473865792 891984994 441633123 874902988 528541995 116695235 770548490 537292680 657956056 485386501 363032036 587512787 110915150 811266458 985213592 655500404 152730897 440639738 481266922 946899249 406259353 917069555 953165132 916458008 534909435 932740854 256294409 299180726 221592819 646794907 880983259 577867333 242003308 458238107 845749369 412094625 327800245 355330014 891030896 561273056 293486651 486516037 182787446 884372390 636640575 786733984 520095520 313609746 959392808 234039124 605538765 400318241 441683445 823333204 249748035 684278750 793687776 406269953 598736918 279548194 334856427 404695414 791443799 824241876 470481366 275213600 301394939 311999162 529088553 693487349 214321241 772584418 464986348 127011441 295050610 242591454 908215542 437898045 578258596 666004701 526026448 811104578 112002551 758846105 407899522 739453251 192817595 410593905 842368553 586008981 110910727 559259589 245542460 386595205 817140427 318689939 221662424 391067375 830366962 299329377 148644717 974597508 526633097 176357376 797758513 385915855 611068912 379037804 880005508 467129214 705692773 909575496 616609492 582723790 402064236 639817005 101230464 556469401 670036467 174174876 210167852 594616051 320841330 749849604 535113971 224604715 952187600 560290955 416594345 465824181 851334584 180785299 648247813 196614408 887138618 765190828 559122014 295131775 618975364 200793285 571972557 499942823 631540941 912421793 251905078 436212297 954353277 869099643 359905136 507767075 320866470 546655952 223887502 970123924 971987749 663198639 699432819 725981006 935676410 666776497 323892267 988271571 918125568 213616384 137378929 543111691 735620032 203595127 920697168 703253492 128679946 692486455 873884501 676679170 387908829 364190039 984183498 269894954 621657228 385826335 857091646 801388771 149714402 698323592 600858888 706999315 188349494 623315531 857287969 448198049 982388362 619121423 182720896 303942006 598122163 419524660 372879261 242072398 682564993 707106040 473970284 632285633 877898854 451072870 821004640 213591472 427072769 373481614 521796614 333821224 344309395 824211283 864989814 609957945 524680513 457561176 594466581 866055264 488772098 865651704 733508378 724092221 711760169 488534263 493255767 620738844 384657924 704856033 390204030 563235984 782791666 429006099 253797841 800765033 309242937 685987708 688485346 884011768 569584493 842627487 696489163 351526720 381626152 742340124 312463926 105744889 634618287 566338638 886365920 221745709 728846755 522894627 913234572 677643149 484079128 615174253 681451736 746634459 672659070 616666465 642239180 726112017 318510516 538335503 676856386 941697510 827776596 962788921 741544887 246964423 356403082 722080174 741853062 828650881 987311123 960173726 146480171 274551597 865651743 821804572 959924700 684421468 671723340 206806161 949468834 154600808 527070240 790950403 969024001 154208827 798959354 506727762 328554451 199704868 756271883 578273947 713617062 527680586 825401449 314577823 432615525 640298812 578725661 991324178 383524066 230030874 163777843 865829223 768505493 289936243 850170646 637534806 497822860 283302655 732764570 776639696 681292098 333161597 994976924 294424064 709123411 898943057 468717410 802342474 251319050 179505443 613405116 769387119 894598408 678325956 108945204 115910564 410333451 329084254 253802995 301301167 185062143 961254374 898018514 180748199 288811978 416306402 378227369 753026898 881106614 296521901 548457660 630218188 507288247 489896457 333176247 925559098 810197386 968310440 776327022 711060244 786817242 790247724 583567333 148980771 618395569 626092763 322267144 117004575 804343279 762688010 323371369 411550562 273449140 924796902 398450849 807065122 603685764 364115754 620542841 258894023 915083024 154577001 849308517 896411777 714652145 875924220 841045171 118115917 529402702 632544427 424523557 488738192 801030295 576518728 802356840 915057773 606780285 157835968 495204061 493689053 461829202 780530869 970134123 207775941 959733568 465519918 152120222 573747753 498955445 172000750 489925715 528768496 613625411 183194062 358600244 375063011 150236247 384795945 228511201 974052266 430592304 899211286 357637860 100065954 860310673 314854237 665927815 611792284 872019542 279813903 466501463 235491303 841182350 997083201 973975635 585105737 902134905 712912596 303809036 796031856 554642713 104239835 719665546 628671305 452609157 917294470 159151559 674032606 547003617 648394850 637831248 225141274 825400157 595000044 876872530 172730499 752346092 412036486 164828081 949049503 954499747 423658266 771918119 811411587 548182542 782806400 256360920 600206991 581743404 265649020 885320805 395949170 659005078 139125377 323472061 774904890 618539255 863539973 328030496 828544945 992320015 707575154 591556757 865792847 796348496 301267384 555703164 408717141 366288059 742802331 456072240 456937352 560674852 131861923 297702915 358835188 916845714 568930375 607833259 504900571 478821169 838136444 317474880 589680174 417869816 955531751 714479410 982481799 297663971 626365919 417307881 961540649 809040469 141389608 726378832 930972406 376292990 878466945 715996044 382566180 709409455 712463079 635761204 250171708 798689682 141240382 519951705 982258029 678179605 908613559 492501526 975389579 844195481 372236876 428499391 128185465 272506837 150380452 948185947 785510311 577307161 332919696 781460135 456103682 186294227 847389503 285284683 203409841 652125389 248612600 446163890 836849559 633353171 636875185 106472021 195869489 488409996 994885182 245641060 237515428 970124368 499949864 601903922 451356162 722855102 484918405 765365150 932330079 483350203 107355542 193786415 899895490 403959959 513727531 612279984 777032149 127521059 998770248 240888442 602032565 916400119 570860585 474529028 397903307 996532967 322912721 823189349 102728022 184325373 392198277 630651733 354568193 115547951 240893441 298653900 156604406 859846334 379250554 389293240 321448596 996817671 442286817 446089760 162752580 810602362 249764614 752006864 571604919 884387554 224321979 108167330 851567813 306992124 898360335 618501125 777063145 340781255 950716259 262973456 597680987 215326634 600496027 933622341 691463070 624875812 467812645 759035933 476938918 657618385 784268380 339793700 263540157 976604776 291269851 342971412 899414535 528674807 218996003 675909694 978709328 505272319 672509215 898437624 970526811 998258897 547700826 387033542 144134402 485148768 178225825 926323564 409318850 901472950 867813768 416497010 656015762 136102811 961944435 148050241 713381652 556306985 815191849 926342956 657014667 398045615 876152579 356334540 335204688 481650707 406216938 782531927 742804562 373389261 544126228 933570720 724982716 215983671 543318332 834008051 927901392 386628488 982719221 808048402 808866951 324791243 498078281 699204801 762049582 982121915 239899448 613959667 422820683 755401908 707530990 627247195 974652539 495330775 480688554 296841892 501702382 332685875 895337017 799159674 373825345 236245017 475404466 228308619 378194472 754804062 856297609 747970747 154717769 889387171 694814989 717934651 747485829 351425408 963562970 150868156 613848653 784615983 132575179 796285172 616593470 511129558 988096926 190237535 122842384 634911550 395066972 387778070 737624500 538655619 116073482 461175613 457637141 211287789 518339996 435878807 461339608 622248442 457741999 600035165 428813008 988243796 120229306 836968281 575117631 658621229 482338511 708804474 343091448 952031612 207059858 184298024 163905815 314306014 448642461 536061325 380158646 510013106 952907329 437207443 957484442 525722235 399759262 741587595 605901844 914539052 598188482 881085713 568604022 296498309 491700522 979361458 696872032 429053898 903248969 429040630 386371951 127881903 657892435 565527578 511057151 444754575 885879354 785856698 634606444 252041765 727010591 295032505 835265894 852022177 576615165 842104721 947091551 904213491 149719893 741273689 840920560 816641532 348847651 779936322 638329602 716921608 757908496 553125787 300046794 994220215 193056422 730120515 502519260 482367787 126688296 276858141 551040787 885526766 934775168 818472986 448349232 139097813 593495528 815683062 791370564 172295451 621687630 508938603 180957785 121681607 184261626 534335148 629198606 992824309 776964375 343638446 219387651 714293861 300261651 498446690 640115304 893837321 975803947 286747874 567775894 159472185 512955431 383427889 933329777 408320952 634656101 247126931 348389760 290858394 830089854 515729893 918497150 957246590 239921864 604720747 785322704 999913427 448512582 420734814 940398513 281228988 393010656 357238442 748119532 340113261 977589978 484486153 617121311 592666508 886681952 779609109 992515712 100648524 336712704 980806544 193247176 541593324 410086813 691633621 451096946 952309385 970348613 316194588 233879460 533416797 974496544 154704067 512920779 417459403 779542541 239175638 610275556 430596608 405659026 738153545 603442111 827466956 670683272 778763547 854445935 181498986 578424681 413283036 589888813 979695345 556868824 980164629 185336578 133197266 935365384 356294056 529465615 611721591 776258776 711021228 186433915 898239687 103398830 900420635 107486282 857435436 997247539 597607395 195800605 422539129 412901633 105193058 996985166 103623984 594152392 848284467 186048206 463420196 893843072 715002084 860120589 567070522 679694981 154716772 814060375 260700804 659082228 153562635 296754026 250208886 967311683 714814390 408057620 668434341 334533348 987287124 768904076 684292911 802420423 506585445 819866180 185100443 906563116 288243510 132026992 869552504 524411359 228248021 692051009 124823611 703308480 139047473 116616132 315536918 774383940 501210235 473712257 354022193 409094590 594539420 203515175 318181680 688410160 507598180 640741012 939441901 746394615 453664690 194829143 950909969 646302059 380406919 762463982 849153759 969555466 489879445 892528738 383419541 108784091 892530531 649926927 525128373 880416895 924522521 335479218 555022243 832675486 859625277 121655346 244905954 607746278 688200302 717781010 859292627 797853562 181351678 818511078 997387106 378592200 166136485 425634490 572230205 431406400 426655000 530205100 924355968 932718841 973814675 679938320 304430364 193137113 146453293 693246884 887197691 121243181 912091423 829566121 424484304 621268497 659870337 293896871 525513668 695071632 826130335 289519788 815229611 502770447 575151445 258866149 497542653 685620440 867480135 960140894 203737067 960491971 361607509 362568235 313659338 843082736 964020229 937902619 183361792 107724100 455003760 698266505 243241993 869606153 542839951 918584317 857431689 706145373 635346622 329479106 478594900 910687657 890993592 869602069 908152601 596604984 254657737 614073979 557639801 379334695 247999935 714460372 722780299 511020830 470410663 387524331 794370654 655110025 509591453 838295416 577685214 944419441 277865822 446881734 584149945 797164210 367326512 995835402 379663116 469306252 245205976 123184377 958209674 975112301 955638382 848645639 967618322 426369895 671594834 484361384 414999335 425459904 174471570 201671253 677203479 860169074 916252392 205276285 507050469 304062907 854395941 988453772 194804672 577065509 389853767 595739391 741069440 145779387 990463445 799040032 633946721 826580829 855718370 642714589 743062096 500372946 640414307 298490010 803301094 126679542 727036055 130807384 689296522 342152884 473540576 952356192 231468932 698721739 728830986 506276938 649292691 661945926 174022566 234681778 970748362 417372839 707456529 646603176 194028059 565727311 756230267 558053065 216918010 639257810 489694160 885503714 637802554 540679538 989768955 292013590 458660434 869150231 114960241 632724161 943522220 463560106 519956491 831030729 535765518 754980240 102260442 184438794 915122474 473642100 395030274 911749460 845980645 246158534 979801631 261584332 519388176 645241303 871598414 742902649 159567837 612115291 934217680 399826974 742285191 632503095 450521511 473324524 258847758 165411321 745203042 450572507 894796734 379566885 192806928 174157117 194642048 639302421 211080341 397414541 849994026 327649299 532722840 922712873 998727119 373453425 897346796 282354843 302773881 147619275 745878040 190925632 830014463 769471853 597003572 914548424 574902297 802232658 312781608 592326595 972161206 337838918 177396866 648418600 212560737 143446973 217631623 543004402 615535350 787691933 810538871 245680872 349001623 969286396 509571927 120610117 633229731 644227539 377461773 358098530 475258117 825220823 726709035 953980924 434948084 762833470 738567686 419043238 524842303 193810688 635518160 718625054 125378397 169862217 763227287 897183178 371651640 128710729 695214771 948465475 294502666 871935047 776940522 985146937 729452715 929965413 446871752 845642085 431623282 127114115 155644147 746971101 979371201 897661502 952128264 987700926 185971382 113616993 554572674 875568987 737817525 471007917 439806148 232000695 944254716 153811838 806362258 847874292 734947503 244918771 299408268 325250551 784531146 268702977 545535762 867456405 151864798 757496652 790949363 281256021 975141324 929474263 853248513 378553977 410769567 501110947 690490221 611802163 677737242 316966916 301763632 454996604 567119596 792353967 983996317 540899507 476643278 599340491 621807490 639519795 940569293 843277837 692028483 189278162 739706529 974372008 556350327 368142928 726287586 418950115 893928160 673949972 695266418 904350445 739708595 495925412 298139857 844355470 443687091 538118487 468284353 127495043 181516249 859973316 936139896 542029065 700776433 519825143 228686740 865070110 102348283 122699746 386902480 316630082 501274895 308737277 718124856 929557664 563358549 992806311 269354562 977502192 742315860 596667239 784044895 601907794 691304073 985639874 258064425 380604687 861080127 451868268 390547160 406435406 749848593 126627208 215736219 364937262 325045750 642200464 763599459 874323421 601211713 255135288 640656370 236070918 769200804 406046442 240333553 711803153 658979244 276174785 186544681 424767100 672171253 527513427 420799803 962492035 960316767 785673264 200161030 524018683 671812900 507113658 242684824 881870992 269947288 920188927 163169052 179368665 193369632 680530197 168781774 513398850 124874560 336112194 944771045 645079873 746055819 413468375 232576872 165595141 579418896 700724286 161431020 171915981 163288935 622866927 183271393 711463807 163743803 499478455 276466747 287765582 473130243 293655893 318618942 412189342 706354939 238974433 293986638 321312351 192810567 733027211 789104903 827243316 793593814 849642320 556745005 341504865 276815676 711822600 411603073 676024427 544991907 766647536 200712666 539468471 218688202 344943139 220827004 643715703 791136084 413269695 245490260 139330478 974757767 952275994 130559605 989647439 880528166 317793933 982600943 485136153 439426235 836595113 974343276 522310951 492373540 757899245 147579766 284889839 858017580 903952671 920122641 951506480 279458833 667833967 445971892 647586073 479278024 425565782 864022152 231326527 245639388 795706245 505771412 653321728 958504449 443630913 108897981 201925937 213495383 666060531 724134740 188002974 772843799 719066956 745310712 307979165 461342238 826903913 439381267 672600602 346699044 246127912 590758403 626158475 854653117 409510874 610918814 796524547 660007785 903447129 842001734 189050561 936385314 144646804 167998066 873713957 995100925 184351305 867371724 386470036 700819440 943657924 568647141 223647849 168883854 207881358 571937897 315331220 100976439 619134550 594965275 483628599 695201042 668706386 909322311 603738062 158943848 111387725 190870377 222900875 861024071 588308713 978542378 837780514 323739365 620582216 220385929 209293701 619349098 867090493 290137616 942442859 229642957 262994371 852435034 770708233 197281752 217200779 638682327 947811986 117909912 906868697 508163570 688421192 943806160 806810387 705929952 130550374 502803386 288444336 905753955 577767972 256903018 280785252 319868466 354212421 753954411 171258200 969773433 178526095 299665197 898623079 278008709 639699879 712563575 197444331 919815506 298828991 587814607 201577234 250047520 475672694 661179247 700470978 394255078 746565331 841169854 455115312 643889769 430900776 382963644 429261038 830542893 343346208 943861787 509004124 794639801 836586795 548233254 640670752 122127110 339026920 574070786 577631391 521531906 891583707 207433807 898151152 723028473 131526768 602017680 887638720 478616642 282320220 362174622 574078742 882550243 991803687 210270540 577945430 865827967 798176480 753480986 486146040 972386004 517333396 592182551 767794401 307741221 540358463 179223151 958110511 463970215 848729968 982129172 514153171 528995620 802680278 146552983 437670227 967281290 916339783 114337456 587044368 561232535 249799487 581776528 626840603 127778719 364597883 812179003 912909932 354282837 640015317 981406485 237918572 891703932 822225912 920543745 492972460 744738921 911463267 911652652 261053726 678089624 225250576 233510353 152357613 387917417 787733746 804515994 424116680 149433148 923370043 378887375 595220102 414457404 942848883 894497856 814083681 363515143 516172399 171774241 515124597 725501728 728676784 718577048 778933188 188657825 144683706 434870456 614069757 751397672 321162184 445077057 948528783 671937713 195363557 985670706 312878405 899985743 853528566 961531126 564589944 175498462 226224795 378403808 922166431 892070578 629961025 414664052 809278376 879440930 551492620 930244909 323618038 106336051 801642673 786002034 704271931 898256434 624748030 902316263 206486745 728797949 351635962 188641155 413346337 596792580 291596535 281772774 574879211 436788622 630147998 305017875 281599633 976822740 941646139 158427848 432281499 140762416 319766116 231331190 769708335 805415189 531407379 955258143 639679257 808256824 844938889 304943814 323205942 439594972 132713587 581151284 410194249 325296258 748681877 762737284 245864995 731968613 917631737 547392732 395501353 857656411 730823996 287443180 717200697 607105741 509726236 273983100 690239582 993686769 778262560 552318767 627528413 301556454 691189698 579188598 157209199 175156481 782468099 920839827 523530571 808307188 153762453 866825953 202744455 724231876 302625067 315232291 639057059 107108054 540592849 715997076 703197276 743680266 471550898 762045123 691681801 537243956 117236244 146166496 383814644 817292021 457413088 298040380 232926123 771307299 791526516 704980804 613903923 150430354 972151490 389814989 833774669 931563171 929158373 782799954 951721340 761876433 307250558 186317249 234913549 314631603 395605411 354743264 794669709 203964954 180913010 438014142 432514628 558489534 357261799 315859645 942594440 648588534 761976234 139301259 794026785 767063079 475042911 667263547 998820292 410029761 914289182 945243109 912349843 994647315 421852903 947463066 118773643 532616471 611621405 663094728 877980314 508445827 999040239 235699688 766986898 100308144 140278017 247139223 120222329 163020363 346773004 235199205 822443763 401368631 690168723 196189080 171207781 599783225 979685184 805261463 737585544 577215539 785209139 852062195 115241356 826978104 726757234 524253540 578316237 327383262 229409868 995204482 713292690 574131241 947215373 829449203 347095707 278688812 883908551 713360995 474312634 173088269 160270647 320085681 960650068 992582888 293086555 511172522 516277479 996471614 942540303 473510271 996509670 804835163 269688061 316773511 359168112 211210265 873855484 580891208 945246733 438485965 153485741 704465750 265900883 329551079 235497943 585271449 131624581 370262888 975963955 553166990 919304567 767232871 321743748 942479521 816195407 931084307 651422087 150270267 870619638 898996198 464371804 866719470 244532794 639300293 669087353 781669159 985343907 349949443 955952322 550664337 699405802 777084883 469554006 237311293 643433079 215995934 860836272 255668876 609085749 658906352 333918662 514499594 502481829 878507293 440693468 260401384 662131858 809978209 885284254 995930998 678759890 127804643 540603635 950269006 599976913 450159125 262767706 588711023 701780346 330563550 749262083 995215558 614496341 403260219 679606017 746134802 831123203 121677882 342441119 942145823 843492661 522544609 775295653 531784866 552509128 497008382 881205300 667965736 993656368 132496731 257281752 390088081 670685792 234524374 408380238 485421372 403761242 944849921 160039547 834222924 736156963 878001872 350396079 428975735 344937140 676812946 519863626 194806537 509921055 341853143 980924774 605739478 208905807 193285192 815095555 894731971 161507701 730118941 362671956 734343455 669333358 732266771 273004088 504907882 637806659 460296089 727151249 367605503 999803532 424639451 477878307 350999037 120763482 248699606 202810142 845895209 807109994 388059785 453585235 142398419 360006101 691048228 837096608 567432531 774629547 878266901 124596374 469989765 446049326 720961790 441685497 159554366 755224259 408146839 912821102 218418382 914447894 495407372 534317099 617502974 879618552 221408727 845579639 461793485 387632457 695740578 897737260 179178688 918918137 550519767 362643811 855633743 821913788 254696574 970145608 365225692 684747522 918589944 208579704 420345380 973423163 722914406 900738578 435938381 625399560 908440319 973828246 619006553 953084586 898368115 631949492 686381128 159588053 622668959 775862584 888593153 122836390 553898913 669989966 996573055 133361290 348009898 916748784 130972569 615973186 281960096 630430994 775883735 722739769 169454521 566508137 650818119 335350203 885588543 651826798 623352618 844850101 157146794 870624138 257363335 664748443 492075133 450224229 356895296 149996568 186215595 985825481 830921424 685680852 181916408 879964701 671791688 719181498 493205823 192465802 704029588 184028704 686213004 628686721 678143791 834034314 968430152 977062373 518518851 664633585 830071100 787920139 506712905 464517530 168443631 412556856 509893615 482195126 486340911 404294831 718951905 488486891 757357059 389005686 475460393 630427658 516899058 459743861 795626631 626635273 922032720 284324319 795997326 831386253 467333369 136123002 298145038 614307932 292708894 298100400 517902517 981708655 484127762 928074172 920836386 979867775 687309193 968025344 339623552 694175406 340309154 413910888 241417505 182729775 853023137 940296470 370147624 381673515 237550982 784685338 200554014 582411832 114996150 710318609 630474399 531305145 388126472 166450746 181976183 219217804 885112162 954702796 804999412 277167380 484985098 920431133 530070075 508445691 366774603 463480557 732446163 905847979 904011304 652980782 790621238 248185890 397921990 320695834 517076215 576652926 369346937 753273627 707047747 338028927 420289314 917156918 947314793 154124324 438878889 254649686 753825585 982549131 932300505 651098671 656678422 953724599 788544934 369855326 198876735 665824852 420513750 148453108 840552842 668045346 726525358 519866518 297480046 633676542 122643599 839207227 998165826 532829599 415192304 366773935 798960918 633729107 666161543 881079181 258991542 854377951 669590524 721993327 407179674 471690062 851621817 352198367 168889044 138489792 216357755 741383093 151305167 585901040 681166767 997685762 705958499 860893952 873471912 872674054 605371668 206064026 559483055 592352756 915734808 604948093 179623369 513012938 534637959 106164975 383676150 274423885 298195079 589030484 478966004 472193400 407541227 469347785 742955018 502408849 230296510 520349515 586170484 850628399 703171150 590983602 614148262 739729551 184905311 531244122 789429705 717023936 141943154 723494414 106041268 690134372 646089295 804953158 597089628 908049399 566011041 523202275 682647416 243937272 458649890 958849000 205559320 906823956 561119263 563903021 586826235 219609494 994911371 404878524 953839734 643172325 896014784 169449592 244571993 630359929 638813931 396869927 101159260 174192905 130552343 758061372 140452863 392661745 639007936 836156025 465493249 829932620 836991783 295534789 671643915 692787729 695040802 267725668 614387541 624597159 348192461 903208051 690770888 450443632 475927515 445863774 563661018 713685012 261002212 505124563 608665746 885102529 382747705 302827396 242312302 180950805 202786944 547338735 460172750 652414123 670505257 537591064 340345484 804187541 483916720 957607522 794068091 334914000 961174620 598974255 867218380 417382792 622821036 409001686 880937259 961118363 609766240 594456606 246090699 336467962 490489608 798751184 241914228 236725457 527516700 215616396 181192187 278658746 347889485 430241088 328979651 214813520 421459328 292569636 918705282 837922583 784714993 514809969 376776458 418126980 901320887 238176455 283194639 234981318 346936388 500438987 949551643 711723861 858876614 346521097 843637887 637280755 681821492 107086050 177392353 135567954 697119951 670997958 188003187 604143662 832587297 957845777 877779207 739530023 486183817 366900972 392625130 672042020 811304915 276826721 201460189 897386197 263559386 118456420 898607478 674209312 675780582 752320713 292265190 704017004 543205614 708885231 104756232 879315200 852232873 760061834 358722275 412514288 611560034 591418336 594431199 301304991 324627688 524193345 317104769 715426867 163776095 643335804 849390356 300605092 295062348 387731765 171871624 360279287 680706082 761978023 519833109 847502681 214781850 845787431 348308159 503789581 330555392 743235929 888402432 261011326 377265461 266933315 623657942 253709979 730274595 791186981 262472403 387551926 296684074 657006148 529434476 107855008 960553515 474159139 798598870 332278068 153604836 716699727 650325299 763068677 667736760 589541530 872214932 522778068 180656256 941198201 168759240 420849017 517376914 296216042 847790554 602757767 552965036 912959298 858129531 822825135 834125192 949332456 354805635 107672615 137824885 941078399 807205001 107247777 452308330 350934910 440203356 142366789 413243798 863662865 678804353 593400857 334910085 701616310 178989499 884725181 767146061 506415661 949012074 137145523 386453809 603883437 830366718 245910304 933471930 766651715 400784557 834667602 471206510 644250428 113758520 838631722 960972506 374115212 852539010 866000629 721246702 613661101 704034124 279912510 486544628 547744122 889050829 667194468 368092261 150330856 679146669 885459840 546033648 858285902 271055307 489884177 576527521 686130136 506929860 189891407 382803583 631889390 909375929 704888040 906638102 739280029 191722942 975259893 337257532 178532718 155969474 961060854 590325566 905765672 706573320 957331086 941275836 388853641 531880761 559529306 281038685 892587437 555579595 260073031 718230663 577305316 593299763 827991585 368276047 447211761 361845772 888831085 189182841 257544832 842894014 623243677 252072912 181396646 501826294 149323721 712717405 965783128 889133576 383412610 700902185 992600873 207155296 631619034 988483456 141488256 234946544 803158416 701200216 660150754 577382180 251017359 485222423 169680212 786301258 796331032 869386624 355894268 462124761 276322817 695065658 594181814 710102060 446741024 606626164 161974144 693291915 117969737 891497855 192346153 375809273 594907694 786983296 454422640 221724639 558215385 764958916 329409609 949805168 328636802 723107892 668194452 796977104 136753364 328551442 129288889 772510589 746802711 804087267 440124966 885619163 972856062 508437533 244392726 144634706 579412239 852257990 247153810 399078491 793308673 965371469 128737389 581854701 718199462 817995102 234676904 134468387 241285249 241471722 944940916 468692680 467516824 434889759 414383476 654429788 828217915 691676664 241205472 739587331 129215594 431923895 894343639 819194190 619534535 120398117 133491214 922610909 534535356 580330421 359285789 916999434 405147524 553922951 409264467 815714754 536490292 117223725 891192787 981682586 650351861 945571053 898016971 669214746 539772133 907710279 835568958 107904027 368476837 441604334 338978687 618133300 544228722 453914527 967120005 693859516 733180779 141271789 120690932 823360565 416312011 806394622 627778266 910443875 943116415 505728166 351811409 198955873 282362448 346049435 927369924 175470769 859312170 129107876 407693693 121781923 157719307 868030426 412252687 898440521 161667746 517097673 917118042 512005835 657430398 430600165 652640481 288000262 222578632 476351203 560835829 934594337 540201983 760693196 643374507 799633534 445290434 373840421 210349302 254429038 873580223 980922868 911596034 769757880 447621350 261943366 145439190 385175688 924332927 282363783 864440604 106024937 656828319 397618646 534869538 252090273 441864658 127734431 445394876 126077060 650988194 556903097 614852667 694201998 828595975 535521350 814483645 332075397 802709855 759232032 405512304 257776774 202647031 960369440 149521628 113458763 358236683 313089247 731227113 551490868 681358523 417946705 492161952 680617387 244265187 200761649 120914631 542437594 331645898 629651142 369547138 614430977 966660690 784989349 786667164 414350533 415226306 619920517 372610530 249381271 517079483 161045000 719370838 319360875 873433285 782545301 551526473 157579479 316277867 207563221 123746121 134390766 671572968 391062887 160054798 963717756 128491070 875255770 464425497 826856830 979556046 611320045 832618469 427917310 642567577 353204820 500284285 714042797 451730840 156279212 601145288 970163569 939692114 850300891 297013902 938523938 174809633 613459977 222093279 603702499 201342790 368370722 509182340 994644996 739602189 928439758 741016534 165515280 352511729 267376485 220867056 473457645 498692403 472294125 410944108 281011533 688264481 382464846 832120570 222635878 799620572 242175378 879951774 817696255 659773028 184850488 695479504 906473633 738231398 158543051 931104315 705705894 597090334 615246023 204149258 605876077 246886337 518704410 682936749 505104825 972763944 555412153 666997556 339241896 182458175 421108946 447170922 626886190 661702235 117405259 878745238 681377791 582586823 581872471 559900402 155515404 565911965 403663404 589643443 874439817 788863289 904992702 443127362 502324694 847354949 363196343 668530673 151103586 998109935 209081006 893058303 860848889 892642164 273059528 966059526 635717934 517117134 828634559 240020664 331548697 990053166 840109405 667080827 134582224 587808018 946697578 588052001 567784921 790593135 415788464 335144808 782548070 142322451 708889400 790713182 287471258 871603562 854992021 762290480 187665028 441795145 444403607 930699460 971058445 576971926 996218183 878489553 432174444 452183282 524917946 537857923 210148056 353182616 152688231 691221822 245060796 623638989 268800027 271775819 141438657 740228390 158965457 696683784 390370154 889929075 439024352 419505834 124622022 407055095 433721351 601331800 815841913 724649990 223103018 597373904 109967386 334383686 894680924 132967676 498885722 244374333 969911249 715356106 318588458 261459047 993761823 636907685 418248585 740699184 128272440 500003741 394971859 182326584 387859295 431903710 125202166 671388955 596210300 746092607 517110445 615274517 291581443 859673216 663562076 725910673 537045344 135748145 253112349 660879424 585600609 458083720 954953656 968711941 448036014 111910870 540611980 802794039 690394340 471844551 146352726 444993824 293827733 457370608 733042061 325127603 255080787 435612739 651396759 390689256 285826309 420113831 798830100 297926250 324580409 112864791 280638186 202727450 205010312 351581800 300225549 779943957 258016165 340566748 740129863 941141780 922987578 578935588 628536718 899173860 519941997 758588318 404936718 256608764 430777238 585003869 278813339 753618905 983219607 114326709 823225107 358135927 850225851 596484698 968572433 480859713 345650378 846399576 717234798 848944266 686540562 612236107 290215455 858570317 925593180 103071509 417013899 767994087 467977162 468673917 809843574 770322126 829790896 470379281 823811957 388705748 815817933 931095419 409906273 339814696 422558252 361512781 889886990 930309936 987124352 816909674 209723551 164365453 506875235 847976811 482805837 214118513 433272613 322870934 686452992 269879579 538329978 423249284 487344042 530243434 868208314 212794580 120127164 941384184 920161561 697889453 956502272 686812670 204299996 971402147 443070135 363225462 389777414 377875583 965471729 231148127 120689553 517682680 959104705 718151824 958247412 823224339 893639173 251885859 923365875 817265565 612331930 676195477 178314401 817015930 556311518 650821911 496862285 380281464 300343427 829098284 314245924 834412045 710801731 762551886 636051686 239614885 214324160 965328445 820287830 248879038 302148000 518265565 254431790 635361480 920533298 325365862 172650147 175995029 247241627 547842863 535242649 213435978 512871449 830024537 110211661 838971796 546473601 743577877 865246526 108733158 132891876 396775191 940562969 848482903 811305110 386334046 223226624 442476847 826023097 677447570 240962048 541071523 227174007 550954781 651633531 817123391 674651278 836859398 851909508 384553752 139615233 219064612 304525655 281193446 445708385 435797294 845999131 634647789 922909235 450365460 294473588 665706374 234179898 601687595 888823305 281889918 955101811 819185046 281741110 178507761 923168325 605769580 106265093 147410591 535491891 345616971 780075601 362217007 279765706 821445196 545918208 560917246 324993017 257534361 325696088 712887376 147006265 634647250 421820307 154543516 303301981 834948286 641271807 791660292 471399901 625235573 979464887 625747780 182093549 652735085 427185967 608931002 955920928 327126345 624444667 672320162 405781343 660061935 237411701 483470739 329726034 703862386 226590022 156511107 400541311 395535272 662911049 341739885 416589121 800932146 829768834 773001120 599718299 530980119 480832681 405114462 176327508 221915385 369495276 429775361 269846886 725121777 734980217 491523285 978421338 639885103 893634380 596043008 602016367 388097874 911441648 800596141 928398581 242573831 740633181 777318351 357886857 698680904 427224287 382364961 733074545 629390603 847447227 536369314 925237171 135881159 763266701 626188551 684607236 721566892 745334161 109392451 787610225 270318380 657239482 929831569 560903257 890276426 320733053 227877668 887518041 305847849 689185205 444812124 609937157 442119119 189363208 620181537 577579764 181329269 608737023 689392138 469652649 655723882 694188217 670232417 125214069 502211707 595724499 198060918 763545732 544216443 503043194 738696459 106291898 419665022 452284514 129531266 477245322 167575260 148545598 782220385 686975845 154273317 372165725 542809111 139623648 576655202 929525217 780540944 339910046 856175682 332485302 851865548 777022020 756096123 452449413 937667232 605288610 428893428 356113829 396136481 786975823 834898233 899282820 935427453 749345825 669049570 655389495 954155759 767960507 299406918 587105419 518183778 159512516 299485644 995621454 857051096 658199123 314752492 825188684 291491214 275932933 595033242 330126251 597234040 611611773 290601463 550400743 910040560 816106952 356413170 251259734 291767804 224367477 114175044 457952838 847809093 706679230 225805294 362547295 576493957 255566348 178227434 721410691 979960932 878835364 124231991 266575031 960777445 109769302 247142481 489280311 706705377 506624935 401311040 228399366 232247171 912282244 434961380 592281474 983003566 446826721 218885631 344993413 159521606 196287243 198964546 162990298 197251154 627002538 893644893 951993754 980816751 384688998 928810991 400484244 418314088 690000438 634604276 927335603 183786561 354038068 134022358 780046942 602638522 491908293 589722923 658042582 310513799 376595940 298002531 183527508 296513308 965648102 327290391 976677465 649385881 956098827 379049304 355294041 634545311 563834697 512247247 105956411 409591261 715024426 905260255 534318189 647139924 981876112 720225740 230698636 560273296 781393000 866928522 892987570 570414170 464048106 632875913 759629882 394731468 849584499 978168253 528653967 976439539 322657940 731949402 165333770 738604544 824565456 488302219 834861777 631038010 320280503 654257718 765551022 486663850 327693405 293373361 523544870 822318890 793508106 850068767 634846845 928869332 906487939 908630803 526671111 108688762 656895354 625431961 405307294 998255737 489505326 454630291 250524048 539039218 569027448 617830288 344092585 343043155 473828652 562168780 646823488 604557952 303100496 709343559 437360101 718607939 220104076 486320861 833972467 862702125 237359044 382242298 100304860 377825575 772160047 355831705 670838261 839975343 393917573 599297552 303904276 816307583 385701742 416259073 427390208 579858544 231516784 140613107 530095037 497739926 898065283 188412258 890988899 498245350 604341255 766921806 203761291 148175324 894930615 924619348 800643511 473052621 302918967 768772013 564637258 477150154 231744396 171273403 894251462 679070735 844983117 200982226 156319277 885018544 460037478 328774458 946288926 575552436 836777523 643748506 193167603 948445377 131592225 771530032 792333856 313413479 159711774 369569546 835364343 848233607 931292152 609415049 161283089 763929069 610966865 285867971 476633041 725370195 479733961 996037837 550272566 352133744 478713973 164148835 360281716 563790930 383931091 772955693 221054107 897501225 560244802 677048664 224522053 880266858 887326319 248197760 546225657 814367207 778163164 961249083 777655838 217856858 957430755 836222187 291002509 627331789 819558869 923257267 116746937 222003550 307728101 873965970 481013498 855773150 771221134 262157912 434715578 838534279 582544978 461016188 553122244 525696399 116690732 757936767 780194318 837126282 406709293 465680768 212969903 120930810 793752412 216757217 840173984 872056071 224268033 393135875 522129275 755760856 846092686 700456616 492502117 101877480 174251164 874749543 244946098 353617387 509233390 127114871 555146530 476107511 133967148 288431702 750272054 186417770 597571228 519507969 653674079 421311451 397718832 731027279 783892898 358632945 204938103 554173071 769634604 933940180 727683976 198023800 269294225 173770211 388743318 699919486 497713255 732037688 421542365 857508931 503676473 301376136 737193008 408272811 449349163 513560320 506351010 448314265 808386196 682320420 684365270 639204931 281360161 952092392 657728604 679342323 363544894 706666318 433755090 968237007 636351415 291495740 371182409 401045592 838747201 502669565 349353220 440669330 272211395 513116222 174844397 806327996 222390447 154201656 613887595 271298271 176568592 861898843 864130699 460831334 267797556 130560746 320424469 202048965 996916013 831146788 918076549 873380122 494695090 976744382 500788052 199083461 661241914 600639098 831984317 824876360 232110788 502969648 969616745 504512648 686679451 574339169 194494346 721650520 940327224 132460938 523867916 434919196 573943676 806118701 561246890 936327414 287263739 345965022 213143848 464472475 641829873 723308004 406837188 367611008 698649196 645935451 143635613 667421743 610411711 196629626 711349686 278915500 947209966 238357881 335740820 143321794 295343510 801582618 599926946 206313686 563913940 473288346 356588281 102010954 576816007 788014111 726505069 285814935 489898537 241171964 821635761 673081452 394157814 293274165 600800302 242217045 563436072 358027912 427938589 498001911 224061777 364171128 445139481 954143800 943842365 363787412 997530426 652920099 327841896 749057865 670712167 177801589 731380893 247510586 588354344 294342941 212825197 712069360 580861810 216669816 835943857 160577267 709676650 416843098 343406054 437132155 135062139 246301884 919004863 106342027 593008487 235767804 318860006 711595260 531351635 100102426 822099396 913890090 702142454 729688185 686484610 399564490 612721511 305431524 425300694 551533078 346293303 796008215 902436439 265874557 530470785 888766114 332646508 439765611 547752864 707820226 721651686 857848473 710113985 712481775 276187609 918417630 572095459 834443364 882722564 324761740 301524410 561635719 719535325 151629553 820581573 756792701 852017970 143224789 845646857 391308175 310837394 998652480 155521629 541673153 759271046 810093263 721198857 550981637 683445980 745690465 413679479 667107941 171014591 646394077 675444103 847767488 360808987 149717066 240771313 440588048 139201968 290743141 162167966 913607661 552680046 204286783 104239953 588234379 556546229 180753034 742800655 778694066 596334538 235380379 904218336 540280529 479742878 254686923 564622852 891851006 117156333 343040161 483378136 774169230 915111909 216147853 513364117 467559933 796840238 124875248 594181277 861503940 880628762 829316067 929414233 320153186 652568468 476435338 461891769 764269436 180710700 574648680 884885715 397008549 702209424 588187672 833432059 795019944 282547493 979904483 947977514 556666657 265493501 355374254 754004380 571377950 463338290 831693522 348977055 110116224 771530875 396523034 658574035 905199336 570904516 645362293 549115074 370497724 848515805 351523660 187040245 464812493 368497057 258324061 596763539 931039659 198655816 757319728 689334395 953020163 796020364 328053833 107447494 926848258 720175239 484194375 485878311 669961403 360610145 697479830 203358586 360130486 794502144 834209342 407335260 195214251 753031072 719926731 518672243 643690100 355974902 971101262 924497338 653851671 568982605 104297079 620906051 643434576 874565635 869776042 113852702 323041368 841341026 442244575 906295053 245584600 591420655 904206478 288005283 447132930 322667884 423470437 122552831 500806559 524895252 725863886 231430256 825233250 873236947 210013288 418780347 588613392 737803013 956504428 398179679 103857811 808504233 198117376 251508909 584622046 598438982 637070714 326393462 445647726 116061146 995389287 640349140 685558210 132476232 356402424 410782531 868335164 983918789 465333760 112900965 541268962 643284760 130664600 706967135 782873292 458282874 597003477 585655944 489820906 123141096 286181041 825260828 620418140 276596989 218902627 795123300 159870987 595469895 205457580 740364856 732233028 516090437 631700790 368084201 658663387 565640907 405715593 725760923 499919652 100864127 567584335 821189829 286111405 839668205 295249107 400940480 763586002 921314120 305757382 619895165 558061333 801254530 766600311 936656306 826688595 355522688 867144611 419517968 979546638 127484143 599795127 726770134 563909615 797469875 166600245 957950327 478725540 230753076 847299225 163995370 525531670 371702002 910806216 561117676 407375894 954734354 191456577 701187876 925467503 606691571 640688663 380036195 755404168 510942390 751463282 729957628 318672630 852328585 134453850 369742879 277321977 407155299 214859017 720592731 519642878 930177878 805329063 998670618 707695374 470505120 627373679 516763144 252931409 961886142 539247330 420130860 999729357 521355889 690653506 767078555 871761863 700849334 371914754 637537008 223371509 782050229 484273044 269714442 981493816 853988414 462665008 906100101 144510023 234227540 192856572 938269523 614675614 930810349 167294297 492314608 938426994 858073337 197553679 433303209 281254265 952722444 645649516 604119050 449787714 702404337 100749351 107940276 653719830 355370968 450752138 457141074 575489542 185720750 600867725 907040954 157771915 665220012 279178287 922961976 172335728 187223214 902395691 779868956 146138336 632687531 770554681 355732769 136288283 788568241 716667800 181899611 182219585 968130332 120974561 786514441 890466789 127936288 927702371 994212540 406982177 571957304 363768933 282877072 282780983 883316976 336789168 894646796 248071126 164828915 368031595 259200787 909153626 786730539 952054016 962388668 817101745 108818033 888363112 922492792 387436276 455511685 123736644 582123544 426204073 788736566 355435436 313451533 276541641 303161470 298540196 479643314 783531620 317715454 191618321 966096664 280688460 185912615 132094122 230880757 581554358 798957835 561804314 280952238 587971007 736811506 383243422 941338219 727930298 249792914 571636162 614045781 696989892 962866887 159573766 553573124 536108293 396489239 795632726 687745903 622696793 744104438 470260394 648918397 994211935 687618115 684424533 772430759 460325898 425723754 196083565 692936274 820737932 418402482 105001720 993247676 963085836 748754154 864850909 982818481 831356664 989027897 432561479 313467136 676087076 862733781 261796044 338399441 287718146 694133705 554548211 956201338 855025085 556102633 201975573 515797675 404724684 722547092 933436205 802040072 549512116 129971114 436551195 215774710 301123892 687784900 211456028 931640432 727195107 199856787 565146520 771109307 804807528 486892721 104773418 941206561 498970136 535181939 503900413 734499315 129068645 484329297 306565287 602550960 106914870 326451885 779737792 590525903 367257196 940730621 634767555 240762695 723327329 717447850 808588916 924604613 821959649 311978147 925709964 581248440 905016582 560311596 132052349 958716733 221025056 788150463 149369480 584637629 416408994 456214238 424776962 102593816 306894155 161683515 717665444 122321262 679411740 164122701 406536307 771356874 927270937 980224211 904067931 639654095 515791889 935628324 547764963 290919651 750291917 339520684 107582197 529598803 945959826 680705229 759668356 535500837 596332231 433528621 764309962 699420237 315064708 543473884 906944273 962989511 942078196 560747290 725377982 545243246 512668398 110258411 125542593 319751423 717622333 434178108 979421587 273545073 346346637 291262307 488284244 145950097 241895187 964603747 602513271 361233103 459589010 524661358 910803878 750482918 482210868 985060822 889708152 475104852 736394323 445164638 711444627 928546754 274754610 255836383 991008692 944242352 767639780 434875270 738026155 489885072 633154047 920859372 586793210 184903913 637667418 392965358 557384699 464241992 866659059 121523380 332643638 631508529 490064478 678849770 519081820 317826333 795714313 267826728 236158272 935669236 472445917 561697367 482445445 229458478 212216155 494377419 950496387 955095085 631658826 926404041 189369727 634014857 501930449 144908604 930484598 238087871 125567405 217867701 565202744 107753772 591910058 575876169 474193153 905394491 232300427 806962319 672787888 729681325 960646316 270157637 704397561 730735136 787041641 293899703 875998717 778316118 175595051 831509361 622549758 796310087 552459537 301586865 895570609 409577942 710604868 918138008 640827030 437315534 913143651 958411594 697268272 687303749 526826744 294950787 815965170 593290281 577690131 251557962 592537455 623384087 850416821 147392904 545831310 340411477 133704450 686794283 803701555 845664360 424509385 989041968 773399474 349626155 824348147 890335544 223774265 534159303 315567331 303312301 357227558 610288848 858647210 749941095 246632617 632279173 750329676 181186247 906080892 178132249 549191895 229126113 694168250 409471776 934602956 924740571 556959355 507498962 619857334 432065138 761106225 324340840 171546566 499019632 881497394 132598087 471827026 736388707 278065094 371256946 586585921 185722758 243664274 130095115 772690502 272831794 943870714 631127153 779080666 629743522 738024697 908294765 404891247 688117189 872642485 878417020 296291876 815405680 781786794 132716734 783662649 481190785 824883756 601101254 111216197 270367563 722094727 121357223 930006921 573207747 483552842 341435117 908992165 121274603 970629529 548053038 227728175 165009886 658663402 240222318 879925220 950373848 543121755 460275758 680020965 224208862 752119605 131297946 818077700 958751922 977157295 441786541 908997328 690173140 716113541 349675401 244848351 154964144 700120970 687519431 443301546 887404178 133758430 648800076 392021368 390208401 118182100 261734828 849505525 977584962 875166024 540658431 380531145 206760866 942457462 382750492 404895159 894522132 295470859 892014299 484755116 406609683 429912540 577528044 656925777 270277252 609413719 971747157 810749001 353445726 368887971 155071548 760965378 776505581 565361191 803044453 462933439 912990351 803633690 224926894 196692502 873374025 912895843 750946194 483732354 925945836 564967487 123678744 129830319 925477177 426012528 720481650 438671174 928486921 582313259 501068877 614047312 383913032 195504539 389661113 583109026 668459039 333498843 389607306 300908697 743682285 114170205 844720465 167942828 514924818 909038395 379974097 670561610 657021340 604855155 412521212 782850772 387370110 985362160 692910022 286893883 229387113 448709925 924498119 135123666 302183688 527066996 510306063 375498704 375593550 611295310 410609869 116531534 320182009 420704838 523016664 673153435 956339040 253018564 731983245 385743957 494372571 402643934 827129371 610069439 232335560 167642730 122600077 846946961 479119256 570134563 453612890 907137545 874707205 464500235 966326486 539975438 819729242 352153738 231776884 871968218 569019319 911687448 122472023 342186354 658488780 789347821 681503504 611074280 202858214 691549188 431460833 539232808 484985626 482304980 900612960 187262162 598383176 431528025 428174348 881508465 819916304 763955281 481426867 831847180 866950769 134512706 421057846 659063496 295472378 889356747 866284692 275583510 584041537 348508617 904119568 279763419 755962002 696664338 849810407 875449924 617819242 665261895 957602780 392831156 231335871 343431317 587186067 458542596 370770950 669852063 151178901 871437910 220847463 398450684 530700782 225569183 171266315 418075125 245587081 848633259 223171349 125339127 195141669 987767070 203899520 961720386 209611071 181398813 440637583 777706112 955045032 551677768 955463967 712413871 452381648 220393684 994964400 595658239 968560520 682484710 860640395 474046628 672348441 474315287 990256401 801106188 364928314 518005532 612758064 794671494 833944649 433856522 359646893 291262051 548580507 485457839 553878494 207576378 869636213 896233438 743650547 463694702 578200115 994813071 797817105 877438631 267280979 618356576 208255276 171882100 858900686 326632047 509945267 751259502 683550239 124227448 531147802 185016776 737358238 208077767 154871768 664341859 371101875 215058717 481145916 495993016 729096139 150430884 118846685 118807954 385325491 126405318 784307715 709391411 127088719 832642084 642523489 623901175 827826607 619487389 116162719 706148946 404216966 573245961 151041442 312193586 447203336 185871793 816611635 396948861 285375286 506647790 786895295 740546798 847215347 195476581 495988213 521483007 210502557 815868418 634356215 563804346 453378405 924182215 198328961 145577831 828935949 535956809 589635137 866533813 368700847 158262094 990172610 359789041 922999055 696634017 146647717 529950373 956398507 570452020 723658233 960970701 360334411 252925450 243431848 966114276 244006139 716201761 380073087 181964021 316284951 586816605 408863490 683912979 989343177 347505031 430707129 718868858 584286426 111490653 892218683 858678371 702957128 177304051 498324555 168660350 586204825 886374036 264506377 319705012 781874358 602879096 557112909 872257529 185886958 379697858 289622355 227437517 432703527 831987376 937574963 346867467 100427044 262319284 326796885 784018417 363159753 832782611 498075174 405034632 656464666 349684668 445520125 570442122 344691078 930367692 189703384 231676430 192019492 915680149 723956102 998752332 676328611 818361901 323363309 782186208 607219535 734043451 529350713 611032935 245353517 362115481 855001446 347693743 161817918 983792828 530066567 920241840 796926587 574396131 475707641 516239616 798417647 696012472 822025248 191587524 322446462 711186520 525302609 505721966 413647395 858867900 591172257 820438642 645077839 221820964 641057259 239435578 523767743 288205085 961372988 788367478 169631206 873137692 667747375 217930121 244107117 866022721 108788561 348257460 894585199 325035120 337002470 865140515 925076204 557237633 316056220 913617789 635635339 808884226 150172307 709727682 215956840 743419610 364422078 103185775 851848650 640664638 637735471 653747726 508608198 718141070 713511936 441771407 471302130 377414711 952136358 972855431 636116413 656052737 653701402 128467810 878845564 188021796 412242436 708180041 521968127 306388162 390099986 384196259 267495099 970849090 366445616 417208195 239703407 428667716 755786229 220231579 283301650 607886473 881485951 174634972 937718947 210091788 936392841 226757136 746772101 788792053 742373969 525020621 206197639 554143530 630589503 778150316 308427577 896313682 117984102 538778018 100203239 144545242 623235028 246215803 507482222 762828404 391591043 471604905 908835613 475712776 900474462 564708640 330385317 567922994 401160850 971818659 879901464 694562585 500031395 608823144 630522488 559821841 303561517 139992978 970868813 738059586 159065917 321200719 400337202 184625051 561939372 146449506 116254976 694128288 371454806 941442206 781228799 772136606 280662981 738911575 325232516 195883119 662508162 559964505 910974276 307046309 502960191 930558791 701603758 375775732 458099516 331531754 977784247 763427812 786255891 151487285 750882188 384476713 127706270 321351382 905599080 877015069 918484537 702308179 261071355 910705986 439356709 399184412 205887055 778918181 375214840 624120285 195790824 575663250 563063775 217230015 390004936 249882701 359249900 911235751 178175767 235008184 347267743 310773191 492176098 847602918 843297798 231803889 993740283 496400343 434848031 141952695 951259248 601648583 422273859 669337247 588818909 321226330 782251690 293440996 763900365 431537232 231407991 588268656 267396735 275929479 715625370 515294380 336239671 697215628 906117768 416340432 379287862 910442685 559158788 636869761 629711945 386429181 817322384 990337224 911911285 441949331 366871480 243513523 685948934 466317999 325197177 190171037 906719891 807532778 943826814 284275161 409500568 922047362 664618422 857475412 963352223 962359927 103552089 152037735 641576730 278689831 134945995 268230549 281011957 538112160 535482951 616888803 626788454 210337996 554832960 636603476 416989886 407386704 152994034 330340715 921061548 183341549 673315961 664891471 654949018 945796836 217544332 423010109 601391600 499564720 990365621 893490663 719549441 115838634 517508904 593461073 380568924 349903780 360497139 514203748 230283467 977870940 930275654 757064927 121668287 778086539 294537337 920634796 339683218 563444683 712529235 962773408 998448156 543084315 445169993 774764836 915498444 383000651 571861128 108774225 940268789 282590868 828208663 462397739 131311824 195062674 440444456 570962077 780509527 675382093 386497391 710012860 534850728 434934544 331398949 419385367 737478071 534559292 245743708 522373070 586480201 517529702 488724518 534844515 292812705 667949682 624883270 558935198 423096479 124463135 840720979 514553520 473961247 733604056 687664704 539289371 322142431 454733489 407907157 624506607 274715692 716705621 665236488 919080573 329737798 103326712 175483838 631553444 456817861 711738155 757292379 879244190 321232539 276217288 894118838 579580963 928254692 689830007 103662326 786210068 884487387 933961562 906134643 526737324 578765660 600475265 953830965 587860665 228171688 427092273 818535990 814276435 980401578 944953899 653434984 548442120 620275493 166462633 146169588 389317190 460944633 455958317 815356244 314710435 973398346 299358432 929631717 978762794 156603900 805201139 551278127 111972381 626956740 381345418 814661396 975000880 681266188 281720307 885746323 895630936 957566546 551002456 366934860 361185703 908147286 732764866 464056931 963784310 648913579 751863950 795281313 837716463 927267103 499408342 341465716 995314760 562639329 863777032 589210305 590355081 261619463 826583813 311428608 677507389 332359949 206980157 737480599 872676764 157842863 997385894 858620277 769460532 861082660 687987812 869987761 896035811 808373173 900803719 477287037 894743066 954175662 518922050 722418362 185100997 868878611 265254360 796068140 129763148 487659805 985179158 846820814 776496511 226433461 321813818 823996552 514963533 930637224 223617779 424479878 614063544 654590139 784946862 833855021 992106063 972068945 433462302 324170433 442294396 816863481 119161817 689211997 225227807 545258608 534569639 536088795 975792010 629773752 774441174 694028524 453510142 541941033 255107556 636181950 820040160 124930047 143371701 111449778 512176612 950043287 501797138 208141168 799250183 215918470 942651029 825711720 774344206 559543939 271549953 422249008 153283444 752016626 668197433 708425761 395543019 688052335 136606717 182898623 938602975 603424706 393832633 752380275 304157545 608339165 484561154 619204900 904116339 973741522 629292625 521301912 481575971 188630146 824042461 538601131 733802374 643531971 483153894 739556939 406422165 274435635 136292384 576743114 890651795 609592846 432147427 881126712 364417728 196039912 753940291 164494971 779327282 385735338 791859932 572076867 777745053 603535939 609927574 181650613 230629603 489501556 570856383 559386345 692911049 642766588 350859059 810422547 829149639 185970889 795514431 373031643 447411288 147647444 895561873 505702027 999968184 619253931 532426766 403170457 413504765 750066420 905588214 907465884 125706218 104131843 529301333 919114800 263537896 405587395 565318991 618569279 806755664 107890504 290611908 497437438 594386024 251456547 716396071 431403788 528637767 383217369 872042226 927510074 667417832 641258673 628891535 913528431 244580985 678469475 410448561 554506193 976038011 362074653 164733370 128332379 169140637 463106457 802487366 994219003 835097532 574314090 749722887 365635453 669296821 605587609 187658256 775342513 682992999 343088073 803027690 225289747 498199894 520560067 109075037 735679467 431454983 938902760 166498278 854622881 231233566 866040417 346928515 878655562 999867426 442169203 447590042 478257282 801971205 799674198 459692990 396966310 328506938 827697002 141977250 496232352 657183829 431382574 843110855 100237021 589691453 730949152 248184394 668007366 950130746 390675733 210940589 326080538 533489564 864016981 182560507 642923916 983082626 829086899 715611777 769476951 223788363 892997319 301141736 219682083 560293140 175458139 370332055 403580054 128059194 592912891 673303446 739967044 488159263 585865253 789442962 329351942 577560003 625052474 429448486 107852369 439893498 208712053 812444354 413457393 250145229 344985082 879984346 558568708 213362446 919080323 571278072 790179787 891352577 163194751 209483360 160144633 233318401 608462513 723873659 484135148 563411048 839292559 488501009 418536503 118935769 521515245 855487346 562873680 554140238 678427238 137636253 644740992 420162328 242593583 911547696 906735652 460377282 842349338 879851195 349269115 773589097 477628653 746385252 519001440 669836890 847248219 305896869 149118892 583781396 998108749 131610542 564905151 887583769 899509353 942441499 210362920 627638383 471992438 886176902 801278514 126949134 522627566 394090615 330615268 755481918 974601534 815439809 447421258 184803980 406165958 361516318 846688352 362104239 270230279 156550231 499243498 727999509 224569361 961817122 581941149 558404234 307030888 815859432 662189998 260498485 532007446 110487315 547301145 531323416 657708205 950316512 530782113 659215908 100406078 196222059 189405323 934047486 554565052 348456582 471458495 388005032 411004369 703308702 598462183 115716974 257687429 812739558 353926691 656251258 195788719 181054887 216852662 130810960 314029686 710204907 976061886 747556764 787933617 985811276 811847929 489377340 252246263 716132348 821384539 473487952 731490619 584402139 673997022 792402276 428113405 881851855 183683490 598825132 702788315 671853660 117050038 955854299 897662927 439470793 888155102 979990254 568748089 658117554 157969319 689107452 600075011 310339429 853663015 990356017 432854962 804087833 702827399 983805865 671311223 373038799 176641913 648455084 801820184 691057216 898260522 117179601 339091283 310317468 700654456 378546563 943932613 799903018 584314473 675098182 288651865 781244139 464989321 778670068 457564688 361640488 842055969 241565838 907118377 520427318 769377874 343253550 887701407 441638379 465174229 661414586 137669546 791640750 865460482 613969962 761141921 535380533 968028653 823680233 436056132 162027951 738723420 283078424 349669945 169898774 651148260 113604330 200155235 979656422 812117137 123948551 869449237 573679972 611879548 199997423 856292442 789949720 301704587 651492375 134659063 320341028 331558643 583076087 379615130 294347695 421469127 133223103 781601912 953497675 314228544 928144423 178246260 208433312 926221324 760976081 672346221 816240593 856326253 332918829 726367607 364285701 781426003 305690063 262960066 478526672 277370991 256343908 242678747 587232972 285509136 109797443 994067931 522830268 759579976 494205485 603043313 846398002 123660632 896937572 906494981 791976082 492937511 484443606 289750240 198741033 256228736 584985245 465288589 687892904 630062118 260100306 980296076 660450405 997936245 367836098 873702468 259835548 576535244 445093759 922961556 767692391 824574558 818469260 304425477 588865855 957467818 734115260 992571484 780729749 851949711 859800725 134467914 855466330 489421496 778484110 259616578 677496088 203865716 895051035 418253615 236280507 153947593 129438962 316425968 627389156 779416637 437062544 448899154 378548180 748679444 438901201 259042774 935715824 101592646 754700573 176775824 848385108 583668944 769260983 139798613 554502258 225174909 832003880 172099424 956397153 402267112 693992038 858416470 419412333 778613632 375982158 308098532 774065523 948585373 776977884 917905714 195866767 434164798 262579955 786985171 250994909 234858374 370668850 118416240 416038779 964723890 145392121 582024230 462063110 379160553 628585426 861524839 123567796 300471128 625290586 806136588 523081292 266447842 456041514 492709692 577974507 371075047 153541575 180349512 113442133 637834835 686439057 102911874 874955258 694240989 122282283 334294383 519129429 522009454 702800614 923264248 501256100 645376386 876452805 331791859 450058536 931780799 918911642 351971976 716092079 360872370 556562553 120020120 692049873 608739736 841507202 764147220 353220391 835187016 348848496 984425399 227945399 623624995 144685567 995910162 580300658 522865038 101705761 814893737 832461080 499206884 638869496 490367263 967388398 100197642 560133832 420685804 543841826 999956516 158008876 244118785 781413529 737192780 249736619 160262388 673895734 301055917 794674482 649549561 922113331 506641449 362502266 868724709 366408184 432724425 743356811 740255730 727385295 662022031 543193818 207111475 741551620 968845866 198252614 370861269 770617743 901689099 339368236 833519957 666892109 363138182 299225351 490915181 134570607 304492256 522251697 752246449 889422281 660430430 945002882 364315834 660581124 659109143 813060517 377067591 728288697 332741092 843669876 501651302 733428498 977089046 491528357 867612466 785429124 272727925 657269022 499486671 106668587 850727896 246519513 998476169 647366788 912200043 383581936 180120556 119156127 995094630 493959301 642166744 797880170 184876933 817354137 874976559 163850559 811491661 216479740 833368023 107851110 228016808 858749647 793467901 643599650 995101659 582630112 279210056 147378620 831861997 581552201 314941029 943974967 148253136 449983653 893122565 350328101 321485804 593498119 987277966 624303352 887266050 523231355 345778919 824630137 882088898 505564309 364980415 380076252 292209924 589391910 917917489 898209454 502791459 949352673 599230746 244885665 748654450 562025528 264050262 304848830 726806478 110625533 243253865 460176074 395344547 747063667 923940807 533850351 879641984 522638834 421098101 761912208 357391763 504582733 958941704 936198588 748314493 638103711 384853674 785308740 765107035 540888666 433406244 225792210 434573266 656973246 306902336 173375774 227264782 363930598 108637766 231739747 800716818 836771731 962707542 932644111 253640759 971789860 370749345 618853116 864318624 608406526 116767208 680880862 288435940 334249092 747830953 755596815 357521340 122555825 169139776 304402873 842960886 589792997 682409559 544348228 730269459 617043084 351050283 482762557 419416572 242438177 574642418 151762691 705883656 253553619 265878671 792832495 223385783 338193497 651060497 221524828 255526832 568415752 367812325 593932791 422091016 453552682 804847970 781944731 704593553 741124091 776842741 878575529 591255297 524246322 405114081 986787639 548518885 347846093 859196672 564768628 222038382 781246969 668116543 641553613 571955709 855640129 742411640 960995035 292956145 993870348 875394837 393309142 796067101 919411643 146474096 693849210 966888121 353638783 606259614 202658741 212349130 746685089 842492638 954116888 347174226 587581359 814918394 866221323 617970038 193188077 435073282 499473065 556934760 164007443 412694804 387065006 804805847 669474436 795316746 894298866 369235296 927953334 805026177 797996144 185482237 350176026 551872701 956235663 453001443 803294497 197953471 897627946 428240061 302863477 131714557 860085628 920995222 554209893 455563981 892123977 301077897 621726308 895631766 657885449 595434513 750301759 118462109 383647354 793436260 899220054 285760246 642500180 172884021 251840461 510427311 129100703 221834753 543200404 457168229 627038095 753976886 563822656 291482899 362193663 118926613 629686031 280272445 376817312 337592153 478265835 323162188 529487891 670917730 878978423 866741974 291054059 261203818 651471285 960158741 335457231 331829379 298139539 317165393 850690733 621419624 559495418 798369848 582746715 974802725 637876061 152621839 558681681 377591121 486592312 557509933 227249487 695272337 333563721 370971455 637680055 470402600 787767091 769822119 125123495 671151778 914193226 777939605 890754230 190195522 122420880 277447083 187636356 664912157 540529854 795926331 968476632 843890928 389524562 940523100 877423123 235943205 919969936 540051364 714264406 397196763 701923370 706402801 957783501 140290579 347940483 667220192 853014763 685208771 476552145 623776237 284189454 712148168 133085812 102315853 823962983 184991891 988222397 385690686 799829921 349565580 497308049 162804357 390708319 165858827 992511075 326920020 197675482 333252322 217011831 867827900 502493336 432964906 731008969 352208820 488902176 893428921 221811069 606655206 104857243 195061457 447388612 222800255 381422515 979794789 827462894 145029788 643148237 591852896 190275174 564953013 432999200 691349272 120012899 411379307 125571969 628377765 250829439 151916743 820196754 593871782 324201812 418674689 133829314 147175607 623647309 478880008 392175493 846318598 859920923 169582789 164742675 221536758 582953262 735541292 632984299 314241883 543405444 379367843 476175295 935654349 247312789 760361690 710119951 843018152 559406775 816691293 407778246 452773378 659875157 221538413 614403176 747757826 630065717 945013112 957379443 410290235 214355341 198863874 673677363 941053991 200869210 146614214 551197901 950763102 284634093 625959736 213549583 517890201 995446497 379447518 684268115 788350678 345001187 285002819 225126709 842072759 941690042 554517814 454686916 989892301 105716193 760772114 397995082 939234928 860115715 990986947 611981642 403275521 984438411 111541809 163216092 971700990 222052305 452473959 306458499 736940495 831543582 797066431 132360075 493423025 871983606 286822518 686041695 889263833 136857704 254411125 268686999 823647812 881344002 357933560 292637513 160442493 328846891 418158189 310091041 771752140 494818078 353698144 587534444 451101966 190662215 584328389 698002916 781850253 514214013 491634094 619835188 277018471 514637446 222890096 671269253 177406761 993548465 392886797 508052946 457737362 370702180 602284203 568965899 900225558 958071523 435384957 953363057 932537937 485538726 603728311 642251868 625672060 497706723 874585948 930338284 584734162 854486839 173879956 729358274 316901546 862428065 202867149 738933625 394389288 406619041 597596624 981375865 737612408 891154463 720550396 399593392 123041852 342657578 983950684 179793605 254044094 352525326 764479788 705425478 975657193 127894908 914930195 771380529 139780661 940761381 492598093 676884060 809930224 235207364 575795115 869150531 725823989 438024660 180589695 933354537 957380348 180887937 100784094 532237259 647326702 508380780 648107708 772348896 742510604 484442499 886226049 989609736 182307993 881784396 558110628 759869035 198930000 117529077 564849651 350833880 718661444 936351276 718470954 470085569 710319500 903363554 647402699 838764768 704200701 691639236 553541102 748552872 589734959 311335789 480351141 917465235 532274442 685478890 298323713 682995254 995390380 160432612 803439065 206599025 337268687 578098448 197403073 107891002 743178807 768013250 650774655 354867894 281631330 599044825 310786094 678696180 395245447 872793056 746194292 471350200 260311194 684674437 407329679 660575581 959213281 849032397 198010531 256267298 826700162 357626503 772717064 366345317 654058689 427367319 961183164 276875326 425691819 556938275 263336449 185407693 516074012 404676629 625433581 925280745 812754166 842773249 526988232 662765280 448963447 146876697 897978638 948345863 320569375 276867287 454947381 462494707 368668478 376655138 650894667 576910843 441623845 739760304 751914289 998118528 318208267 648133324 841943724 798710497 551215821 117395579 295681304 968085799 445393734 332665984 370664040 423168928 963656514 652157297 973829350 187296011 382413319 769242627 782187927 477767039 552966582 947757806 387610833 419594056 148200477 710787466 460506823 337292166 363561953 546961576 482260821 897864350 648834545 700318487 756244183 658571029 349973442 473856664 616832893 709919133 809972065 797470690 218152486 653438669 671344053 402278873 354556512 605454872 189728040 233158626 333781266 809397558 307012317 315555492 347177402 576659354 771423101 636943735 821491036 454143921 979766951 782043458 952114723 411513241 514863226 564759791 457282679 641040473 754982525 225003451 890399271 453385537 835121865 264251086 194109345 398808889 871531682 993953078 660066539 517595884 632957025 391148860 792119449 721140790 474407095 733094999 349544484 146115687 894436723 547922387 395543989 202647572 249783939 697301309 597485480 875518318 944514079 681392425 141171347 798605127 521253216 604415453 129110927 101019025 889933457 220249201 388855817 226846802 105945606 190876146 748191430 855295923 912569906 304719913 382665532 294775997 813059324 683440433 633381929 940930100 144276834 919541344 188901262 792137786 946614040 587204724 537617172 657188426 587852366 380060272 382629018 482909846 239502262 917473180 717354195 822013867 856331307 345531598 623908030 881331528 454681211 457652009 912820845 610110571 961042672 527189984 636865907 686385478 940708919 628922633 981951940 723213592 799727768 240028836 458692310 395606364 615451087 280793052 248053323 144397621 957360984 177452387 199443162 930368102 488325122 762866922 503256516 179605426 889519746 124362445 504564359 725721208 920619797 929514170 625580888 993172141 937798763 139142515 530735205 391596610 181075873 750934784 245153424 671626445 498322696 568005647 974879698 575007489 747418947 924606765 308663175 373098305 558195295 875716381 475342660 293866677 882412985 756680228 442076929 318369140 244023466 693061008 726148183 803117812 603627514 637532327 878967317 809311963 935615139 545150959 357541626 924594510 956658147 485772922 381445307 237667957 714502336 259498256 494040143 303728095 832926105 189876322 387498193 220583511 404040618 497799832 557133174 254364994 237167987 956276365 107695931 207425709 476395758 896319706 148250560 407275472 909830868 920973604 847428925 649609181 900699483 371625763 447364077 718243637 470934921 151289651 174508757 698809367 917767763 880177816 443435436 155184253 885702638 444939238 566786140 824414524 988454459 619014449 975192232 190483798 815717674 352561528 666651109 966898685 468182527 366881868 187454254 278619986 510268633 576946488 724265486 579884932 335266126 738026191 142055691 396865189 918263466 557920507 159246656 588417485 931434509 663018438 622711543 470137035 707045945 250462169 917071569 717945686 601827060 515097916 434746167 935570415 924929029 974089874 988801283 610770253 466559136 857799315 357827349 477535339 587774007 763046039 765711655 560316039 745531305 958914290 182326526 508555810 364081541 199282982 902391144 395384553 700501394 653110103 590624548 465868614 509131482 248480629 605734083 675241288 293483943 169063407 736814093 582865790 508166195 480152442 246974561 513196234 222043157 844995466 548521713 112957137 446402501 436583007 736697768 154885759 369425201 358981190 578777439 118123245 165318578 216284495 491372755 356445235 338759817 652873850 600111991 295810405 698563610 677402514 227413844 220611106 412230612 612227875 319085697 252285772 381638245 307898385 448965890 224673794 550087769 443599065 140682461 318413657 689336072 816418996 104157762 971954031 132374424 914636516 676097429 757579667 921504892 321847316 377221841 622855706 223028691 421131414 101696322 481505023 823746798 899829584 133010071 806101225 848351691 461706702 764422114 626233295 901921297 587456084 619332456 704230542 632739820 207475440 707455449 677864753 603873701 140945999 278582996 860888287 210691899 827947281 993551865 310214469 742854921 915415673 669296136 624093780 389487752 812184642 454118933 709841063 274360326 393500516 739149981 895417140 944685609 825387310 653799990 323690549 152705422 694912803 793784595 825499403 589472922 771826833 959989920 759103558 708313550 936434177 103400526 660797765 657091046 117451324 396490724 810311614 630092801 860385452 292177231 986766446 498065640 182572858 409890963 682114038 245728979 208959239 620056969 461617477 711082510 892505412 247647959 933752990 523207917 375223038 910697213 200798515 922759483 446964708 773435266 742349909 201742014 290082085 156991490 799065680 317955558 447904895 698055060 813227363 952152128 346283369 666403090 667387509 765581564 162726222 827129892 470550601 646461802 703558789 517745789 640768786 466500917 450684891 677572479 375349606 869684601 247416617 674101879 279418880 518651161 991555244 500369741 246241647 764696278 737868544 636310441 152526626 277127684 523850601 337718785 334266232 203215662 413491898 928134711 672388197 872019071 592816281 786132327 645237795 121735395 593648053 159503165 378863272 923995625 595442331 255989200 450181529 283750233 970245894 522689736 918622657 257471337 442346826 532475073 196761784 612883014 202202358 356902878 923867077 997094372 548358689 767071296 750578991 854802671 701433381 435124236 298305191 447924438 368420052 239892867 359363623 401643240 503324348 585836124 729288074 727055413 538740865 686400245 568316413 335338377 533021950 509104270 301712238 552478539 834810258 919724122 581147855 307556955 474813530 690027651 808661213 227995469 628661266 845036776 300081717 700365519 478776550 934430522 747484754 645002588 529075351 786585075 923818366 655500969 235271101 733549367 262136353 955824851 487095895 663409052 269728227 511551795 348703533 814687494 268317996 127885480 242105953 908471337 204752813 441337201 502451881 166980960 165536150 807722484 924855590 325181337 162020414 614410573 631156090 132332553 914014038 463849212 326453391 639762285 854828507 374222091 648504118 431496502 471392582 275508274 889664381 233352175 653022989 255692663 675854722 997373909 329336002 961452134 587936913 327689644 356266996 529657520 550373658 627387245 721191263 705330018 642618863 233932849 735409819 341662948 702170801 100826781 183977678 986141749 786924845 605943335 979580026 992148821 113761738 587487573 171423706 591815609 683776622 359434569 581054703 782151992 914012055 254485581 811587661 610176832 701916102 734371813 347856867 388795426 208996721 697633408 569279748 595244746 209175416 568679725 640078258 848777004 976896176 809135613 943798137 302820391 137469921 309446945 456311096 215171070 855573257 262008086 879727119 452071120 218211404 351339408 668563704 821997069 703133684 716369375 574336827 404042147 806330661 262637011 911408961 851759790 605059209 259639939 879634936 840212293 745808602 888433849 729232352 229048117 896893298 485636591 402623975 752038021 995408821 269151723 819093982 157206518 404517720 362060613 816553171 764604551 862351126 359833389 716885775 179701939 331786430 163071922 678708716 225209063 616875717 101606623 773969648 220330651 301662622 361869079 560398374 844172811 340696628 374322721 893633223 216516533 199530107 973431367 968473098 701597937 740431916 998992720 527020923 670320451 607194743 847457756 824506127 454116601 174723888 747463950 339573973 700866539 698611466 562921839 846846376 462981080 844266823 340303824 641922810 308488052 906354013 600915870 498590075 840966806 219146265 389607245 685751138 850345412 929160148 651564319 286544874 894314180 479892899 685447673 616296932 148631888 489274955 436308553 266165823 878415038 502542104 745181090 872670439 784755860 956566053 935746257 228253109 514331778 617283296 377726494 703594001 540571959 141322208 728209847 738914122 500391807 989264284 839447634 343723152 189373564 320535648 851432921 690926073 489738703 266959067 905886202 439010859 406105495 613142875 226005307 974333775 681779325 921905060 567225905 165825483 141127942 443744074 652294429 362025435 728399242 265075546 205630781 274269513 184995074 223938777 249081902 866591436 587061344 357557592 427789844 969764483 608967948 900369749 132263088 392127007 987013180 676795606 601749581 189238921 196758390 243325044 301841344 485332673 383778676 492769383 342516804 190668053 325281554 678016933 231158708 880802150 419035265 832520689 191162281 723237854 343539896 648222231 121678749 556695363 266012722 922276745 560524509 602596506 295096170 792082977 841334027 458257483 109235524 523513320 719031617 402657168 722620876 417651638 417287275 980290152 429981658 918179376 146260183 409039460 901119458 237454928 831209216 990849933 764731632 395381139 321656123 486234876 102447858 240941673 239030298 194967917 480593766 849857475 827608974 745835820 818293625 229709079 115819683 879677600 626760590 289057691 102791809 821426777 933086177 821225489 892892735 315783260 638511719 310405959 880937504 845685987 224566946 370892003 732690450 560088562 800212758 683447461 860103754 471528690 699684189 485343529 436826981 562833225 911950498 812455511 278684998 704367551 392058147 701800102 713543569 599397707 867456474 630916914 326745097 131789994 374335398 799846214 162913083 419755784 541794445 633975819 985407440 490618520 884979751 961669611 521447285 448952493 144280034 967402065 537625083 156540438 967862990 643506127 916197693 537257205 296826140 393481300 254801647 639521983 562741003 271190658 893863658 488997195 872955975 608633266 538174159 896758334 928921508 524263226 909789502 538785380 515359935 143093995 461636231 524133092 430448266 619927355 323147804 629438053 546459490 331562901 132618915 599688150 682484334 782820946 769716589 214919611 545584578 811139761 584612720 142256211 841952274 216148488 334531636 175893095 979542378 353904503 323950675 351867454 809861924 541206508 301535996 825514864 340447133 703339638 906308353 658705946 498691147 511943621 697225312 679533502 957862321 568157567 439551453 188160325 863073143 878188935 378990049 339614952 402648709 451129402 520306627 508811010 647227820 989674167 816407955 545248137 923148607 309915166 597710157 956094833 297091147 544251719 519185943 423525990 573516753 253525903 903430967 246161436 491583554 366321785 988477488 438697745 822400700 957754723 680303827 357170185 454689025 550047070 705362458 224046841 135430713 351400305 127668038 612789420 668937402 768062053 179856512 813736287 538095651 348356368 944539811 761625374 907869710 534888953 519414688 229956599 686446590 963450398 736539994 738971701 541351769 937833575 316801417 671645252 739484245 279462047 233801995 786576440 273256465 817440149 596842351 588120058 522311645 377115767 909941500 282016172 374896954 431057069 510285432 912844499 686529027 203275499 119798173 722129729 642575988 304278990 599592741 756690755 357278349 272869720 164305078 738135114 803330921 860900502 794666851 760300909 539411473 951445397 298517090 239442650 982069380 789927244 859026762 226101342 317134382 249601590 648669055 631358182 919539220 827514625 130120115 561113726 734271853 512156494 159300253 378830593 911722133 459021038 940205482 400386279 240681263 491889261 143150479 335448197 532574416 556076580 256009832 414458711 357234749 584519767 767461755 657931764 402241754 350024023 310453094 136325931 544970444 772460537 218314169 121830819 909744266 970306120 775104313 742757361 327556543 164141429 260284524 743966879 128619650 266477456 514895950 459473579 406370988 687232976 843570596 805198552 815770267 565677118 348093530 332714642 925627550 384684983 955012634 327854745 891867222 364136971 381862990 500424625 247585178 748876816 267710425 229473093 141551338 500776314 920775913 497378057 510342110 873585236 406346785 449630199 113509982 994913398 968939252 981674665 985512741 425649367 657680166 204174239 240539621 680042866 492222130 938360960 184427265 564454141 478141976 678395261 577426256 559246770 557559145 972319762 541221094 519375340 822341836 605556987 243104026 921255476 387761708 991552614 851445000 625245434 684085012 945600936 525011859 336689844 464164900 710095162 491387041 743880575 675518032 757974618 339696705 385235079 537196730 694952644 971124782 849318929 585141488 254445533 153525482 646186129 475871730 302020427 964817569 481503899 932042479 842430779 648968765 912221517 445844153 313653562 429282461 941279614 901797952 430708916 190617977 178671558 665540415 263317262 280442088 679724748 960499724 671057701 894673240 328358775 850674381 938272042 340921592 783219649 854706579 905063057 387140471 254060639 979378068 906388954 750514625 401503658 726779867 536383411 372550012 810178581 463070613 990379028 970271361 711210123 722430656 968943577 915257004 323042437 482640353 655879307 610189315 239627455 589666543 782405847 787565614 764908398 733088542 252082528 918437607 179578677 107184401 282172544 568131033 932669547 509610112 719302235 855671443 898036135 413578615 374444368 461004156 934158367 238015521 510191178 235849739 912102639 941185682 901365419 334675603 247298646 215142503 555483380 627420154 477039280 720175792 325273469 741689622 877970973 486876435 824807816 270473037 783754298 909139699 266252463 372396616 699270208 142902230 879894028 842609831 986804464 778800740 626718057 528496088 496449990 230759643 482584932 266357226 299749085 392856186 895588397 609628553 775463120 259794198 797715950 698937199 694133131 410621581 416502293 453147397 881003621 219607851 972580837 114323183 722172807 645821078 232463044 353102157 878605507 741284213 306300424 525004627 183208653 226955010 625019638 113490791 721413572 661026340 480454685 222690165 813343815 944984149 306538561 523075248 555831843 697749567 511058361 535825658 871314646 201043796 270525793 370163922 655266196 723627324 478169898 907217839 366683700 136518502 940654956 538713050 890378880 562439262 355662130 189889694 144311828 763949488 996296795 878260853 505057289 872111604 433865740 524323587 363590042 162930946 897596929 969364536 422571829 851558153 698656709 679616372 644502192 843964921 382925509 252472530 153325030 797035575 360425020 668531645 348013933 861008957 830590511 919537682 926888369 901158338 614869411 650184095 239298378 435174639 955637456 878144828 434954032 839435134 406546932 297999897 869850470 553811550 314976352 988184712 931581717 121349366 396283099 277710077 155593832 471579068 938577054 929794350 578371253 574107670 778800844 251470342 794610159 292290261 258072439 836522707 823025841 716873447 272630645 640431477 351904766 426132192 523767715 702241641 522376718 815542102 988459503 255663125 218506358 788925753 193317372 923202703 397652434 701864202 728116247 835037696 170457885 337679946 832813065 333305741 693959812 513700527 593086959 756695613 981671344 337775453 351804782 733669696 576550396 564597677 553610289 157259980 992341904 706376686 680900954 668558727 927973887 720801582 750257527 138464292 538091632 528664595 645612104 766805713 537738184 844252121 886834434 983725657 125093418 246068122 410214366 704095433 704430854 342491006 922941208 927694971 582434119 135595089 899876189 861479637 831705812 131321344 195879540 647334396 835026981 729418093 211400151 896903534 344680999 464724666 436206188 525340812 109880398 712467143 261389695 751314339 205739435 151769383 430860327 557542048 928550112 571145591 771777857 396337060 676715013 356902152 351434483 820215288 321511865 691861982 145025741 479491393 395941138 727892917 840585648 608756964 172768360 554055359 185545064 758288391 339319884 910773129 656625685 398355248 730677441 999551284 609460153 806167320 573003712 484592113 454737920 768972331 548946158 570498683 445904771 993533528 873459566 450893761 810196481 107249222 165239172 131329724 433519613 775927397 447588626 137758773 932565266 476641843 361010020 310252620 591751445 507111454 814553469 219709728 314935400 823733492 325783420 817783103 393083611 153341638 756174516 571061650 920880083 934064633 187771262 149961285 333552050 876011699 392210036 285691517 554244137 303623250 167700030 129974118 880148582 209767540 592918049 729800686 675511042 304734482 597628879 937571721 285387443 718217962 774922546 230330722 996966459 692766207 742707856 782375484 737167137 371947661 534822441 621737307 564071393 724269862 633330608 365406096 639685164 549510365 647859861 719478917 737411362 967431282 114952178 773716265 805936199 766871018 873365732 964813056 217935732 152942310 145945334 909063253 298960634 841113377 465915148 876028614 384487156 731940191 300189015 666789685 641155809 104440888 193289154 448428942 968958959 205282063 604025879 598322160 374238172 253484987 395908144 951613467 946943248 578879428 657060243 741502628 897277875 455508652 322239484 570356919 978447313 820528374 765950752 512061085 917999326 694762120 999292753 685727555 433624383 373309841 165328866 444319287 256513508 379054067 554242358 935233540 452046730 569097096 932821204 300145978 938200108 175700606 625700978 443356250 177723234 470059137 239976474 373267823 307971190 293129883 625073854 171674497 600314284 216166227 542799594 404171013 683928681 194358973 481744837 264391408 129099608 410371788 939321828 524489042 864051306 738041138 423551630 820337964 794995013 924759465 203113782 282210941 556395308 106180367 471345580 697389150 861008894 900239148 536371321 302238700 838934711 923927288 656132163 219247970 737582180 931045836 853714767 792163929 357885758 348782847 630499071 545488797 126595618 584260720 238519362 688879879 104113019 904677490 154111701 304662182 535953962 145591184 410413972 465936873 508137941 787575768 947214142 156412729 504632686 384912392 328666990 636892187 296423821 171953996 769783745 330128842 234076183 427202563 784413483 425194285 367033281 342800029 889532769 633517690 726397106 418766943 910427044 453794366 331395088 305368130 516330729 802640051 171841115 433949348 184220858 276609611 951049989 315235291 333245527 988521888 527496686 513350476 858895783 297843191 307427388 229218194 895541748 661339479 834753233 480354771 816592332 920888999 586227322 672124600 746385636 484011673 501762346 595641073 444516507 813115272 665335024 862537721 450264136 848584336 198898911 238186671 735707273 633105991 460301291 233218433 361225095 566399137 937379988 995026892 185744383 396770590 758478997 416488274 254254516 975917130 773146043 952308951 888544455 876518054 681953387 776774497 263918243 607282772 394695470 233802898 734065275 743233548 601493637 614460554 169851949 262915029 995944456 222890667 604830975 777351274 913645756 925124641 165960515 711979699 582909236 981477979 768914931 259310069 962206426 428847475 643427381 966714603 404470060 964442466 350070679 714388512 704508406 295159695 823014553 588761448 890438247 658887133 110929696 647386793 920856089 992226738 155386369 993027103 462272007 874953048 692948973 504754697 401568221 124479229 200277934 384983967 960359732 838715406 905212740 720280794 315170650 425492727 982884055 514756560 943843468 846147703 985866886 692987683 906324390 907853089 503564409 958613525 600422422 646674938 648095337 346314832 145405439 848534521 306174834 896994626 566776858 799798163 460228358 996321927 409665638 838036774 904427268 411658750 125014887 371365316 315285060 739966151 417120091 289661184 117564233 227689425 739306406 569056717 902632242 807487022 871757057 914564026 519478329 756648332 749581435 456684476 913854517 894680122 501303590 215628710 318258862 948383838 498201426 378228384 479217189 844883624 452754918 766681331 734973939 113643460 893660861 414485422 857200282 527258482 822594347 449074215 384042061 130334778 473609456 597863067 179997793 254765198 700906765 585696414 829140020 249230858 123624901 329482329 245263511 736045472 103934851 589901689 271203012 382727452 151965267 437040112 516807797 716677916 146839297 723347713 956335855 286689050 416787403 799966664 992606957 381929093 452867542 647032418 814149455 307445740 489560807 662153102 158737773 174146231 770429123 969491072 134266982 739933175 816438063 383421075 939549907 790201269 810572574 292586344 600431619 161250334 304748991 729552799 829593869 124397865 323811584 707702131 885975826 579923341 108623722 357213161 891073324 799920341 520387672 440073752 443757092 389953895 134830916 580063406 902212498 610898025 876645348 738201732 369882799 238774511 695585747 690994148 410093989 889214924 407046735 969804613 506049945 440229161 953275379 663962434 740451640 658228294 325929043 220233307 809899530 220313230 780180733 851303852 784978351 966768461 829451968 886444870 312468091 680249864 238075660 760380395 537284438 253938655 843648114 430915241 430342132 944156336 346957298 598880223 895688743 662003570 253753847 180801637 677885686 686669196 513707439 545088800 504803794 627072974 716586998 555960887 690340782 238050133 101860844 143760168 413386691 111742835 791406550 833344430 576705475 199371111 190970808 378902533 594804572 844978681 904018552 220584631 358477283 909447407 449232889 517871676 968472342 240913501 316139021 505781540 490037722 113914891 623998004 726412604 529463174 931100311 878346526 827389415 518766645 478192243 517095618 856597454 226540587 204023343 286540027 292574499 676455083 914937548 496793944 456479453 769556216 504260649 696040958 741024964 359656415 235710497 366577345 383530041 989685086 544391508 822772138 229835101 297201274 159720022 671205855 135898878 993153412 985871560 491887788 388063595 811219094 609050494 606158113 106027736 779757133 529248654 369943965 195209926 109571264 961973236 403611749 162915395 123888393 485067851 756862893 613235833 417618183 660419141 918423152 519471027 912918588 359126997 982588523 891486092 942735385 340886052 367856041 655952173 201030493 227460440 416185085 988894498 120232731 142316846 616800024 540145047 800690371 393103967 344297622 343665590 121028306 872044548 195124450 537270855 299233949 505599601 387512785 671194656 534896059 288167827 484607377 851478411 338769639 463433903 288331557 622427643 232579050 755769578 124999277 373300433 779967788 665674543 526849117 761381088 726246810 169368313 730818549 125332958 501081197 138956702 711471695 599638514 764406198 358404019 844809662 961120871 666239846 512442338 679809094 584349027 942894019 147191645 339853658 276547993 759930458 907015118 772575118 917401974 701433016 189597182 981277038 984463139 264897877 165114460 146978520 935154666 808535044 127515346 737709708 830070012 422686059 950241682 747591246 942787212 610546656 804041112 489291014 801365195 876995842 439986136 340667352 436114776 164343058 368170003 669423435 760423474 612711204 496837244 164247795 940609157 183544554 857782935 218243469 551870448 146425525 835625011 990983738 859228499 498911492 679743505 107792448 480315278 711797059 259233960 326022579 600936323 474912991 604186715 847979283 395830192 285694772 869966166 990292976 523106137 744710278 989172001 720974255 219737678 277562086 984582770 918666065 978864699 466545652 428619563 322381256 105124345 320693367 867987930 641935486 261006485 799256803 168895581 655447150 972030130 960963661 336990908 606331750 804072650 980126041 780353177 912741694 473669975 132260036 528109013 501658487 186715411 631754374 371689954 851232985 315341443 803907807 834672168 467922726 455041869 563340859 106131385 585674808 350898204 770367097 672843450 557781981 235712521 678562251 703271698 461840574 854481874 179583150 647491476 894501243 102959848 184526583 589089742 526455654 103361668 221541647 784384702 268051188 336780449 326239832 167978133 475199087 210007546 637734566 556006881 240782600 320387885 394661823 251662419 603680810 660302355 675342562 997732058 467348344 770142772 478112367 673204789 438136945 530699249 174404121 668977087 461358498 103353035 567120301 599591065 220350128 221171106 669713909 715903953 668916480 344803999 959214228 804889180 495718857 509808478 252282944 939246786 801426165 354348012 100490576 994171050 117188807 126455715 118168259 552120499 487722306 329816838 733343126 516080973 294719835 629131250 272444862 226757514 357049329 865585706 676719925 411791834 151471966 359089318 319526155 509547891 625760726 922254754 119837064 972967688 954590061 375323435 141509015 151046017 527182215 811936768 303209470 254572652 275789025 830894797 782309323 696148652 828040849 974144521 418881976 731435135 181994209 746841472 253026495 635885164 793411753 354708191 252944876 818051432 804349430 551166547 402247443 333728163 614114681 733568130 443925056 252127697 838175183 909136198 444918791 553854631 354959235 539862709 916746266 603329494 413658848 828309728 396351798 258621965 325526831 388943418 568504664 720735691 969646309 530783459 292823048 999458221 302640724 880785145 537756773 272401368 654070957 332732376 567189690 478623287 335737036 485660429 242130363 484445585 680035710 198064101 378735468 464099737 722923375 291325703 843750481 165765583 861179539 897406247 274905979 643234144 786782793 930698876 744612585 679971656 557177376 999661656 880041943 207103621 363853280 689744556 939098424 864673046 589282081 371965353 867712849 750824123 182528949 345989757 606338513 150236699 592856617 794420647 131164366 497976433 209618919 387884983 942198607 406820968 989323901 623363527 499242201 485718193 598691469 643534569 953129458 466601805 947781430 329513229 511003723 457717515 544277456 324909139 109855396 176925259 795744428 300135095 221770021 882548248 388157866 672780748 787070665 137394939 235879122 166031694 261462565 497431835 197678460 985409228 203542693 267765395 763912357 829291574 843068621 225943205 534830027 832565635 276125697 294896254 928655310 648027799 738071600 840095590 208441121 693507529 434003530 821894107 715010492 745826936 671923359 178236525 257469324 807096213 590165506 419747581 536310864 958470308 488968573 896158904 299424628 984791807 648309263 471432846 429159213 309465026 164434984 115841387 460512156 109962445 546104024 455114066 896406089 156183937 800357071 595208966 256606375 600287607 178029280 888628836 894333063 469113674 783495831 460199007 191045870 960799342 845695494 373690082 710261716 865652677 640220857 956748958 697694913 885080931 120271229 622980000 254518342 418141199 209378721 933767364 527235522 739210550 521961987 871714516 226469984 476448802 169271787 530583589 386663150 585688183 721268541 577012113 590606940 766687033 760395806 367916268 152126014 155543755 781763405 784082138 222137443 657570232 846573032 212724515 432284795 252408697 911040515 611191124 266001002 320646529 462364484 136993349 151734587 278419933 709774509 886480009 377285865 832152116 503293646 952307813 583339593 674622501 864687630 211997065 572983143 653701472 897148717 588936582 488131294 912315091 659292672 613587259 762559336 605895961 595519376 192871878 978379211 212180349 806944736 658460565 563075180 959686101 957717470 865177317 692575426 387454635 306281966 315901615 253057430 726330934 528021388 398062723 500675389 482075985 405790267 751062642 489680298 521233587 926120458 464035692 957251499 484185788 568709293 969410219 844189379 253602215 838402869 222563403 450471488 144790889 555882339 664360151 163180175 165342694 811035190 276656967 326930352 861902828 351393516 728543058 647883623 325310622 549853294 584954082 522515794 925036772 452880156 224340430 874052164 962317230 735046315 559578216 400747705 938446288 636437271 128068491 435458571 606441127 713068977 582215987 508236552 797595766 418505765 709878420 977638035 530725496 772883311 449917051 114729629 706080540 906931564 391535095 766258283 425206007 296506341 823991212 200793647 775011847 339027069 364201708 296228840 253463384 678199681 187748109 421865453 154956578 147946627 930047758 738162630 620415060 202726506 759389316 664756338 668561222 250900944 132009996 863379556 407597254 326081531 375315197 309562000 712745006 217720611 670448028 518353370 777764871 105459307 109804618 547843671 772712097 230947327 682990905 654911887 820131238 498604295 641779747 747246631 462910953 623603697 388649489 822769690 171923636 403169537 868462574 486257216 441164962 679830937 313246088 728425225 729695052 782038778 572473080 255400327 943508779 786025252 139731398 462650309 379654968 837030185 905932205 342864215 173158051 368582315 290546382 920851476 850544647 836448440 338974250 370264286 981352595 203735660 487024140 571513284 784769623 515387333 644618391 559902187 318024186 216437403 382906809 874272037 435898691 673832092 856389813 599780311 794934854 360180236 730635394 385676191 698756412 292988101 835838946 445188114 140960334 692907240 865421288 356936403 576987564 876909614 509433629 828258877 425015836 614066023 166439003 878022194 251081932 170523754 281372187 895905990 535216526 425625814 953550065 965319750 549360150 488120195 285478264 389799907 564202061 163662041 273847646 983416887 214601498 940898719 373962034 292580375 792770385 394848832 558786109 915551141 564008078 722890878 395362129 583102893 394441605 389461429 191912598 326091278 200960867 191842026 237276562 817458984 445930395 222013769 874631811 875941012 288228868 497757810 898585261 853100936 469179568 242631537 539627408 300719520 593891116 985440916 128566506 154044474 134025127 560946745 336179511 622611155 261895266 787413676 172274806 934491793 868999756 328952320 955231242 468731597 280384937 984804593 115336332 819027778 819715234 747003941 246783261 771874391 351814765 847688606 820388550 652404268 360866558 317137236 391710334 498433186 582885679 633085921 827785107 520809138 800195145 957472786 480684656 809799527 707603672 585005112 800626820 669486644 921064977 568703768 799872879 412422842 490210954 683590354 451161469 452349467 739650592 617437161 372816114 956568269 294460545 336684060 597690776 402922960 428440663 216591700 203005340 744663030 959614719 766069022 871451940 702849629 217212988 149027407 510619559 456761204 422421480 318232336 173011275 200242376 686907448 612598824 572494013 251972149 483862282 526004336 491179585 320033284 344612558 214731634 766518164 427338270 537317149 654389212 592373333 485810044 502735288 658516010 835488658 600140442 353055380 291621161 775678105 309459712 297731739 250085010 639697225 961323100 723409298 522171432 904947117 991041900 504552389 442439167 522241094 233011676 269897421 679836663 266793811 564309355 177218825 907923595 138959545 468252719 352630879 733314159 101766493 201249510 295790774 834415324 205124712 675450740 729467916 564787847 658012949 689587419 337231185 237731996 238109026 149868081 320619436 266111983 824339495 341390793 422654196 305090805 482084305 850049065 533758727 125559450 846705499 438121828 424615220 680413153 563097030 744273543 503813748 203632967 335778904 259772416 522982661 434643448 337322869 161293470 481682691 684856480 559134351 495308031 280429521 702109006 436122483 190239038 752595174 245698018 273436140 130904071 632497555 978116575 309637803 390413565 934859395 752040635 319934966 671369112 594993002 793715524 899992549 665425377 194950526 986639398 214759191 857479558 862254791 513698669 991147748 842272449 375146582 322958059 635420369 954356955 947236378 213782534 142902118 535817314 902617801 379150988 705698125 791886562 702107177 775949616 930088568 934584705 472523498 778399467 566373672 767986274 354966700 996731062 796789709 597658616 286709130 762787202 210947605 227023840 460046370 338771967 205913106 496610404 153510669 487373051 758507837 802580726 689825343 548197897 200883219 510885541 956991745 519990430 286653166 289520686 744680439 493394182 625863829 162531759 595139231 722179115 880138688 322584426 657244226 246857130 209002675 929673542 338913599 974385546 785119399 879505358 873049279 364382032 930774273 918048215 387331652 665128144 176465199 384764769 909347292 906930749 232133922 412865018 334909844 877317421 773567926 738638156 725155885 752132847 723374400 958725730 842415309 830164513 164085861 360549306 372523115 505362574 517897295 676849303 671444085 571983947 137752485 683748653 708637850 528496052 698863250 269017993 183589192 190056640 316482461 216975895 202111772 153408015 378733912 607771392 751421780 254425024 330395861 450158691 960842972 224024419 454342578 211866714 600277477 346106068 392799217 326762607 714128771 154193113 898523240 134871279 758339477 922072972 572735719 240394892 361942869 426438490 491383876 924674002 477026675 511836948 528191380 391973868 339070521 616306781 679781650 796774178 773189126 840088045 605071839 193228152 110514762 569546584 282879212 107929111 805141440 476838529 337649768 233487781 259019571 643673752 196007742 123195501 130959913 799589274 864460410 655320707 742385794 912493478 519057831 471809009 450460210 368359438 130169892 182641295 784180274 879531940 469133720 918209684 415202840 424664957 359907516 147892524 874688271 652131463 864156577 755778769 722071550 651518667 765839605 654850312 482141126 665499692 164494554 476282650 472815640 411540144 230867779 166435128 783588353 800080198 387045521 827272774 796748862 480000551 218338119 334297927 544693614 803467728 886914789 977387037 967544625 385152396 796657509 486164330 261831798 139378445 715954089 413967242 222687633 727978383 374423061 410401370 468092204 910953052 951224899 769209842 102249281 580169371 926053426 204001153 921857870 976973507 517102647 209347171 168474176 255217759 214463643 778123898 159352959 778523865 154371596 329196508 962911740 159124056 196154459 747205127 575825352 381057725 174676162 684251338 910995745 457820823 198590490 939117855 584260757 301631263 916071837 596561016 554067935 659270879 196315297 617360627 883588347 648495507 975271280 133378817 529495597 772103228 569874208 985113720 878572886 937424722 296650890 112122527 696067458 964188415 765883731 434315773 265168494 796605410 882821774 302233195 131940136 726101085 549995909 844883077 326992573 973553566 553227861 757228665 328853217 361069585 558009422 302305034 887007974 508544850 696314618 289289969 472854345 699525802 762388722 250505828 362250644 795236734 593216109 593344849 175541522 994059318 378415913 524145336 784828317 908658402 685990221 728601635 865036911 206329483 803707381 363552730 845503283 744841869 369651865 667529609 886659623 320683423 593133324 632106858 849406271 231635504 477381659 796500588 348645194 128186022 218680889 685997391 687866540 749635930 568051380 915095178 308478383 563626142 805085947 913004857 915600452 981325490 684018660 365761507 493767382 734278155 966381511 620878680 952369160 817957236 536226761 635115582 958717924 218697716 682990442 444179809 120180914 238067621 904720156 466790008 174986281 267420302 393734413 137546089 309934144 959295650 841280762 161091727 466709546 103023530 327261237 315185123 451946306 346688672 599271513 545943694 609726045 376181088 422126435 433224503 221073023 717910725 960348009 281328707 312417178 759145949 461134188 828094002 344349895 660453353 791909423 868835521 967415409 852195462 229261303 235045060 790986023 678279970 919721639 368016288 254602320 898494564 353343263 411925460 392637720 653588557 850187029 367615893 166466912 401338168 456108169 540353165 577943596 348856099 534426211 865610708 595205236 980216847 561404261 797065992 907188290 401477337 328704984 733336569 706045372 490688877 470386894 204920418 397455460 533228867 366356608 541549636 903749036 860471234 518445746 428497601 560791310 481305746 855344037 135920555 634050632 106123897 225227740 196426541 207012305 489561814 274349752 410890247 135248596 238271431 858050773 998105644 850822015 148892863 314964907 443542596 856097406 808512841 105040387 871856798 945356061 278708200 949799485 378739745 981526350 258202348 130013116 660665958 240256389 811608428 219352120 683161817 379256928 290897916 675492273 760530576 284215165 534179372 467161664 816724168 451583847 430239542 466475330 761097140 313105665 378227334 509521878 915939928 217203872 252857056 893082969 227203557 509360233 982182097 763368032 713030892 393571682 466178636 535024243 505229928 376621548 990904110 404721262 810069162 684453864 152991745 440233342 905150614 883452135 643900834 168911194 967308506 736924892 352500774 909344429 986337832 853079125 715073665 554016685 798566854 231875431 690216060 403320664 336836101 791364141 601395134 636566497 220807502 163626183 460777184 961681254 529544983 327597635 478226734 203479621 874087255 274351843 141110785 174953874 376051413 747919316 998141986 274362866 707389923 843853394 566995987 949527642 486308359 223971294 283162180 752792274 362492156 821706460 961307702 150042851 493360892 121025302 488749326 793316944 812166535 692618141 685614814 950558586 144704322 828723315 425617896 941517622 599240791 806533356 351075578 461682276 744566957 873759289 305588784 749350776 128943328 279969617 367895470 970483414 190687304 734711394 354585745 437814627 917606000 778366409 820264787 474226431 818495168 572376429 591571650 771605842 248629804 807860801 504477529 194013603 653305113 605387736 200922969 530900616 985757720 505617373 254234539 770983720 621737193 742611541 262691424 526476922 558351283 631689513 988797849 818536427 303568837 957058583 595593470 336123717 434743608 564881036 141504669 475767859 264119145 470598298 278146403 340151683 927780593 418682465 689082926 774646557 554450414 251732859 194538433 438535124 509042953 637488407 383866034 688822804 963302621 393994824 702694259 221164815 451944481 565253994 229485976 120493217 474827803 889768289 775351616 346820650 555617716 321417116 826723789 432293962 700760166 105502239 891163821 268927044 870330831 255908289 272835358 800504216 925641310 165085155 624732188 924486440 531302443 984925133 926460788 563027814 837720926 185398810 296015554 858379788 674318299 384552428 144474905 268558889 489811811 972755387 504703736 463152188 624658268 811131817 647445108 739181197 174354097 796040483 394232664 703940513 760189561 589883737 110670291 734577472 905647147 690077858 663418651 339361218 570625410 743961133 925500281 495650653 445910289 884071051 868632271 811567954 976020632 796553546 973697424 953777088 692657425 317511466 550790017 911891242 165994098 233645145 872592390 322131200 887041749 477898876 193131744 454758233 569513595 664197437 907573867 879229001 195802269 433256604 190703091 776996972 894002107 516889843 499903556 282120207 379173176 819321408 721864415 442895254 189721081 967926380 880652879 366870570 619097930 373595946 332791239 627372499 971101314 677922882 129167613 807835192 248548156 105514381 536301891 953461476 664650088 399709576 859122142 729374504 624646785 805622295 733000336 876428485 266302652 906347101 775723674 392711131 698605913 205330991 413153174 749973644 900111573 835039316 686922862 847228194 556909848 788146530 616345213 639298654 335074420 967147839 308591346 486527208 725857534 975722478 675156589 223140415 454870837 897629615 217130975 411543932 308512733 109795000 153733279 914911030 774217276 844370773 833588209 369434691 314355876 547713318 266506088 750668277 772649478 782712717 792566887 546515675 866277597 871921429 509739638 266978916 556717802 905367522 821521734 269451740 776839409 593819465 383978552 970977595 684319790 673812986 199649616 314554211 307678824 498758013 137095374 607231757 185372628 681800004 202888554 609508403 976720494 930268562 945964284 705009554 357960953 266938417 608637220 255154061 779874938 117445080 552470108 812894191 652308328 956491289 165036259 937144570 213120335 456022981 762492878 627648513 197048039 392860791 562746365 149150193 377240593 868503356 826044369 724999527 473851420 541772152 968509862 996650115 786326926 137468566 423408289 834503038 795769930 671223322 414804365 823291137 848365746 631201818 857929900 870132351 998326188 947123534 768587884 673593591 558846146 726802279 123566518 866017528 505699140 972148193 437289721 539518778 785658495 152830517 555765136 706847438 328056427 869963426 983948617 735799941 516629878 116773786 844614878 401402141 852252214 296358129 924445842 279968987 679644057 607689767 916761337 544292940 401026185 761107856 870049661 891257463 654641055 535333802 427978536 108341343 877877495 165946413 550334897 335634632 300130784 948466407 978743993 999854343 377055851 109042391 964147010 109550461 626092132 452647941 201369358 570657399 683253914 424825496 518211184 571094900 124247110 248794585 617413886 772090930 401561928 923332484 670633220 904385036 897441636 460519202 632960975 782194722 374188532 807434613 221194409 743932917 427650127 787078231 468861001 984019780 507786512 251188797 140873035 827240550 265135335 662624018 357986984 138413178 698809940 887782903 959509866 485221025 171579209 317263627 589407798 552977433 954519474 345050419 207380587 881952065 363384200 536403258 283154633 402061533 602831445 256767201 920054402 413665740 294141219 116578964 766245720 312959258 808775528 224990179 479892683 622849795 447233142 234887411 897812803 249388803 428640618 195344923 542825029 245395164 659385241 228637952 983603098 210804281 126007960 865045508 215116219 763243156 183316632 394552542 584762376 427638152 158043634 202375152 323334667 981946775 428533581 649079756 245215326 715870666 221846233 102217416 808908298 115682277 781851274 786313820 865666921 890074247 854949420 702740367 773146721 605093594 857908267 236824099 768921659 583559046 286188310 812805227 336545465 885176040 280057657 138828198 663930968 146150745 873114060 858257336 729665631 355424400 858998148 760846331 501492385 270803494 606042752 435874152 600228041 537830498 302901298 681922397 208485919 615073602 433251928 551108853 703017645 261782071 621248733 128780609 649469178 367930640 181374593 718664777 620161804 893200218 250044447 138917417 299816988 476778768 172822740 345976723 644718383 156905714 586128932 747939132 287945861 545407015 167204230 632469619 507943948 700895439 181100972 842038181 821697759 625928886 682633712 646854722 318578498 533444055 406401618 169756073 391902390 747449280 993988796 825827062 279291977 219873531 610729375 593937732 519400191 230186389 916316627 934491585 151061556 979111619 807474502 600656775 804087084 469750612 941294014 615680494 120432569 860402966 843188325 972636390 344119923 451720242 772453400 431060475 947143710 722917698 973462833 941413303 644407779 406506430 210832030 971790423 581040883 881765753 730276506 566202727 182877349 870583980 755030708 446212162 782100222 288661466 438813163 449837011 254319279 206165145 596055818 140087953 569238133 632501569 481527479 281844032 405437396 742261630 148555741 551529781 678547787 600282493 173267558 466110815 792408309 919613504 287246292 611259763 977795479 468449973 167171133 950263312 419186181 962915929 427514985 908099854 176485237 634461721 103383419 410278203 258390093 312823589 316997929 683456392 795845585 201716927 414410135 492808393 596762984 732777180 937549991 211244354 527354626 350895586 777820328 446606391 178367861 864318742 412353807 347973426 400099309 523581831 392605369 406745490 286961885 178736608 529277725 354592531 437680251 692024329 984181135 926314047 188684562 929406759 943274764 709793986 618400724 378836533 637923914 922215166 313808813 671222780 910153283 383046317 325487503 524406196 553184644 400753389 298862703 952728435 574698687 275367474 304357617 788524467 517644569 903750911 334498374 124370422 994515167 611654491 670518405 768025224 190304637 112857375 756617160 210038800 182664761 547636351 289144062 121384691 140887398 634621168 899905431 218640281 213387076 185636307 189543148 993306233 578744572 895445352 401223229 825772867 565891221 969343456 447958711 253580889 959427415 391881524 708753708 182842456 444621375 533827673 122217898 623566652 336793110 525035353 824034993 679582394 998604760 943767930 238622438 531840886 788915581 258202286 373725774 262484022 521100600 190468612 906011348 475955446 601820256 542153716 151889080 700274551 752861624 727730119 189683843 853148590 619485145 423131617 498256972 579268340 581939590 565396253 799534087 614889855 258643762 448457296 403882247 478917849 430649483 524129321 933948600 824611709 238152346 514648878 574582465 558062435 925556224 425667336 754774540 127705988 955350122 946319954 195821070 847290329 507017273 802586625 685308823 962318338 987171448 404955908 577370109 477041626 429731193 803803967 793474362 765484582 171622442 439379854 725483280 947604411 184160945 944784157 698952342 767686869 990719062 439597025 820796916 857034752 298744554 306605178 481606975 641419041 688545406 130910828 354747787 330316743 425443143 707090322 559397023 819570021 767582551 754839435 854676399 654015302 493729947 429796726 401510393 565991712 280145040 634756261 227896163 616077755 750041708 600498494 714702614 487594606 256019627 906288673 587947403 828649712 974630624 426201378 319296621 892846098 582194679 858546650 469855374 525795162 219625811 755250343 591184984 701239759 165582506 493901084 244307186 942979973 196728857 619687129 409276822 785570874 843847044 666035415 516233430 667731561 973467718 290079582 309013510 106751222 671408995 198707651 969139528 557220302 261344454 250997759 142291691 918736579 466597928 516795712 407444517 747421593 240583540 346286874 242184107 207784225 619204886 232108625 717461717 103538899 608735602 898382428 686417397 974458086 516486915 416883195 727097555 237350280 747632298 617168030 984507602 455826885 438262619 937617498 852904889 257226681 549693862 810353614 260757640 486180092 768170401 537924867 153948175 785679568 853317885 889972854 652159101 826280983 671611797 879258563 804379008 286924001 447433497 939205936 885338023 205978516 563668459 568003517 174486877 843343854 863550710 873052381 353865199 473865348 651507836 246287085 950897606 868790069 844005950 260701473 864332548 628074692 854164247 942308275 528899463 181274488 712997088 769357876 763221503 435621079 943654180 209710925 646583916 316932731 846320402 427439307 815342670 513230028 110329718 240110920 300859200 778770087 208011128 323466224 535313752 479562364 367989907 417615843 618055514 806524736 233033271 748375891 493298769 613671705 672338295 836944070 291217352 137224775 165396965 357569004 644901305 179900528 539956720 765205066 122919484 508524486 413705462 354285513 578993061 246920292 789387831 662013812 178469558 588237004 880805268 698813163 428964504 808992045 390914301 624848989 249651546 296099282 262259552 514956608 975404249 536371919 213056017 199474187 547967578 643449028 325085144 926654779 544983410 925940847 783871499 462987471 852945828 988669755 150448863 614913843 802430113 404739430 193911229 952368826 916996175 601088257 951691450 948766816 479351120 329147795 558415633 732095764 150678942 200580117 850172288 562475022 580733483 165242645 373015776 167838172 405915284 290758530 843664850 910882961 413376704 121133511 964273468 195595699 376852372 418876166 324882427 819898692 412067344 118290316 224284597 256742084 967255915 759081456 731782470 414266316 473099738 653536992 952060424 474022692 151930404 377572459 648125364 986199088 429435651 286693805 974709441 903713271 288449984 406335551 487133418 370639565 879738067 536688096 644901666 602832017 708080756 896256204 700587355 480444631 301343836 821520334 321630650 702199169 114081513 945366587 231711227 875182243 480511037 484815099 155147727 496640128 841776660 358268580 839235341 669309800 342765430 261853423 968136109 815540474 322816063 124288211 809984511 899917922 509117093 632787631 658826754 511559091 247739808 719446273 514822996 969049216 310870961 700144521 534102341 541776768 651320682 178415293 960182982 108317058 363744597 187740995 811611036 402071327 463594679 485561051 375735553 492900239 521341099 651144735 105692577 968461545 434152389 852949046 263211782 428201175 443525417 947956844 498110288 287892195 709310383 655171690 473353830 827613401 493283984 829432181 242517420 459848630 992189134 399911894 301446090 780437482 799373197 587619776 415340883 229295886 979366512 997020621 103385331 958093791 401944304 738710917 196215006 466634498 360640869 936467523 862929488 203890878 813013282 273179869 772871746 796300016 877251647 841018728 278102257 688568920 455782145 926285057 826201757 622356154 781876348 958966644 982921783 655498944 549337363 564214640 393047739 448519671 491544814 740500939 140011000 948747959 178517004 253162041 324814361 938356487 193289335 647721044 232125209 642731054 146593728 313727260 375058020 892606903 767760606 898873371 480888179 278682225 190477531 783615250 610755570 963246066 285013239 975247477 446816465 728765357 111040898 129233136 834771499 509721155 267869914 339640635 979335366 857879060 608085765 299310701 961973108 311068377 785221669 306092984 523537201 144564380 281040969 534557351 479772967 590781414 273006496 376475133 232038352 910013038 136339767 179362581 426585858 625361824 971113526 981729041 290587099 994874961 425158408 362878398 258891728 353743488 339973154 663824254 357873902 417415270 734136387 782848618 831052706 789444082 377188280 697924915 192429084 592532247 159371473 747378863 516734631 624916592 324644828 137970465 505409619 875554241 700582529 249654278 847710278 581007189 489320955 124954757 442106313 617261122 588877845 967274918 770455729 340637940 571586974 731191492 671961015 282358796 525112139 600196571 785193208 484275027 427713306 984578629 878756638 423710828 501658868 508757043 467397811 721876937 417095219 950034716 709014781 231228073 636155254 114821822 269217850 827094364 338303659 786130497 766378724 572911365 745855397 193403252 793337505 506499246 972318443 118931861 910143496 206659033 703547330 261978448 388815814 577839044 631294185 955839135 252024429 386048616 211302242 546711708 429000893 135737458 324935331 710032173 732554345 445882243 138692349 527424528 678369435 378166328 503394734 585316282 576760729 955160397 393699091 672394110 104505348 234071562 451487447 470977230 141113595 506041331 498937424 780216157 861571695 413903574 890811375 842283156 512857206 959401649 716747870 960724740 415618060 971583460 242479391 279056438 339014632 918864487 547267085 972277116 948259625 749201375 266820318 360956238 530408857 452951866 560305454 326539213 494098868 743709711 762123907 114055436 535687667 828121217 534233273 739475726 123368406 908560489 668579211 607364404 410315302 375618058 935118157 434442557 823309190 256802567 303450317 173237481 818057960 240909818 609941985 151703107 559693205 677629139 673135071 784163156 785242831 621434291 566021301 104891853 191532514 441853451 226134237 739493046 933029012 864834017 899290952 870067164 971690941 333572571 510806213 334269130 159389876 628404815 268190086 788388388 321932368 856299003 816351257 855694619 966729603 454354448 853877585 884736675 905361354 308512815 208428273 730560700 778394430 731375962 310073248 563255777 858523382 469349369 311626170 846710701 977275755 259679393 652015221 861453083 790573452 396984650 607885642 205558302 955563809 105755887 605182784 511593017 627604697 911311160 876727320 246871335 293623957 109716556 524993043 110228672 921334627 352619872 824295078 708086708 203650788 537859506 910220988 957146391 544287913 370504874 695305022 857222986 336567952 660961026 655854176 636274278 453111283 231153387 141741154 250487716 828361619 444387133 941244472 105067364 730569484 981690785 839766932 690875831 913963395 920151267 492101295 201595507 688584135 374259300 870124210 985397757 144159989 915324908 960891902 933047617 457613148 475912817 113432417 661265120 320270868 463434381 216521067 274926834 103689764 646194018 125160799 124300776 363697591 490880805 497616349 656072586 570034740 415742531 857377708 808078363 632807865 488938236 327657071 272580200 933452552 354833919 819823740 410432764 232498045 418476838 999577272 838372591 862763988 978816391 981161746 654201856 188286066 263924075 658647551 729921440 306616333 571513206 674378278 739247921 452365550 303792511 519262488 555980215 887930148 409978942 432558326 195954517 588980937 936018566 612717768 621094438 988464725 764753779 104081347 549232379 188756598 641864481 780513913 717403822 889537917 850507681 168355648 458439518 971782863 366916961 121894439 869865092 777573361 783643342 993351915 300064919 175910839 772533200 988000146 458241584 386369230 585095792 207627222 892097371 179743634 151848494 463434736 487307567 715307204 121606362 990171700 832043806 622074133 548492270 341429785 941833615 383052167 817518291 558456915 957834045 752662573 784747637 482073610 279825343 266376165 540464503 720356653 185768285 748607493 688454133 980217397 365702310 378651816 127973909 437999057 547995857 661704286 254581456 776625225 750193429 953195756 767828919 910386565 503785004 907505438 361219982 143853398 837249886 179295716 195946171 543611084 676963684 319967815 490486759 562428934 109241664 672501981 979945564 244083293 112297961 177717772 782756653 961451997 795882615 974267430 796648214 457528061 774194290 911547045 949680712 414100642 223225990 379461532 184310528 643366716 996460750 353426935 769341280 205079350 306742516 102965342 363264137 644101389 337668715 729143863 512268118 230697713 553261913 330602498 733032760 485486884 170875087 709676326 360347337 581616170 214411915 177569813 929835099 394923859 660190832 874613808 509609924 625729979 596669448 789738854 159201572 489028981 664556140 594329989 540840873 581017597 509340276 560493430 551559300 811159094 276684454 484060382 240533172 610042208 482801050 115141684 665406988 617339274 958869045 849361823 501693077 677784164 217784957 740206392 848348652 586390041 880061578 627534088 234271520 514363465 242136724 710457859 589072702 482472082 741528808 265537132 782852962 893153717 466518196 826616053 146783319 870458917 978918796 733502600 984275157 863291136 800741508 782892136 682684638 376722649 456138700 400799508 330802132 794984834 173730471 275716636 539813903 741640841 295260049 818320910 968581252 145000431 219301206 549185436 113221576 401100790 717464941 787132518 858224871 157562907 749973679 388176760 909632557 979186098 869472776 529132564 961660963 971297266 985510633 375671543 796135876 762926729 292330968 553482073 250029975 970759729 275727274 807278228 735745223 702282976 119253377 366230494 159497857 923608529 664908223 449380392 141197932 754471287 346724313 701071504 292095592 400180815 243188889 129170132 287141936 165225345 238055259 274685074 595057015 393217934 868237616 780215362 367420907 181663072 901134998 260678848 903377038 416420242 208509040 117184976 104700963 395012394 122599983 514201762 328608030 935384777 993251518 384127405 720859390 975491466 444247238 470558629 610491619 933489595 738823394 884206717 601367996 950201496 114325987 932776143 402000555 270385582 817795167 698438829 768172496 595667054 119356377 243609320 332251114 339966003 526640881 607036087 485968850 569139047 597136875 166322665 195030182 238323511 470912327 367499170 949972663 779720642 704744915 561824833 122944501 973789590 594894444 361540061 696283766 182810035 127566653 973749516 404974244 524571742 494317424 126237912 330867995 173218642 595051220 655380436 681404467 544064173 931668923 252219361 880442423 156296239 616588671 132958786 976338923 411892251 981934833 902923918 100454889 356919257 517657318 659329792 626960785 592272957 447339793 496182254 257860630 729283819 772307937 604517328 276634174 662306477 767569228 194658147 430543551 294553056 145512968 552209341 810504910 233797652 364215618 788843387 162174739 646370343 295273295 163913197 574615857 681244784 771166425 823640743 247450656 900080277 598786648 913036415 784781131 938054288 692087766 397690233 496641063 755947611 366897509 943395900 428251077 983934014 429753474 692986379 311605662 286386497 685187921 825639915 176012442 303376401 278474307 583767764 642888725 184816792 433962278 762533080 625046121 740384095 283820722 798427774 630803136 990843115 126489120 329652190 517058608 728502326 529018882 418406881 684819972 115477823 872208675 361389486 664277521 515850240 567383450 545874801 679261396 436912315 957295930 544195996 666433978 574630283 802484251 250528991 104864257 718321486 861586966 206525977 150570367 553767443 493370312 734827688 393370800 624218559 269101426 535728042 771830584 708225788 560758063 608280897 250462240 715461999 345525070 653096433 813805307 135105361 398527490 880247178 714685139 918260472 721035365 631063839 323735404 759937246 612974594 183792325 812366921 712319672 386857762 686404233 914787781 555508296 422880289 158886608 753766542 398309175 994766432 721227615 232945741 596388893 214504582 135713172 126650342 485253941 475549984 508638071 906788026 192302211 190801427 323379433 409088168 513936812 433979801 380886582 668082016 701541894 246514874 895757904 107682110 272973711 948932689 306996127 471126457 686282438 247665393 322309265 984631280 951754671 345356566 900347939 475839211 215528359 587321202 976602048 329778035 256976302 891722915 563608314 588498967 587351718 329158896 420958698 898666839 905604674 767201029 654069350 722803377 834932564 685150633 458399832 583008343 299992983 128326064 628168516 359560901 895561756 615520484 400050536 262066262 360862687 899802587 447678322 829041181 247731797 402511474 557598712 312904955 171911153 246900952 253626233 758147033 433081779 379726542 608797791 992436885 297769638 133032185 432831813 731723358 765667043 946974198 585992409 595519142 879895287 288614718 382638645 160088883 185930738 156688580 840010468 292753874 823972570 471279154 369535323 712198882 228951979 234705991 311026569 103439238 237065257 362730022 771973387 737591379 376736002 448631982 875462407 314215164 845371196 661032162 471976161 512043066 842465666 339285842 375769823 900474570 856302568 676178183 870576688 310306001 485850247 297157262 576172832 480488908 736831299 365850286 852842088 143228977 511797331 379059614 293798816 640568268 697434744 107642959 891572461 569246760 203118008 133019072 164630749 328829947 134553529 905169010 443394337 800764065 174370763 866164068 968420181 140293843 895284255 245981052 866149586 959708265 150159536 474008826 502360631 748194601 689400362 302163452 140392963 155859315 121485888 258485085 346921632 280367359 486811442 965116101 374675196 754951327 508041284 365980304 802042865 391136220 642454277 525642778 614754077 321090036 241823234 397927437 503017606 319929394 621903922 514394784 812151017 636113841 531736956 353023157 236904292 420000932 819898301 109630462 232437608 357557293 275198145 632008859 346608849 460771734 802325750 517525794 252855847 822151189 792511132 258232889 456772875 929586614 285877706 171631609 629584505 107194642 915346522 542650171 596167208 697142033 471290230 508663701 695523257 196412834 411372497 801388532 184752367 198692508 769345050 533372841 423163832 865999887 288430158 631097893 536243921 382247893 273105606 148431398 442557547 814996656 437377077 875625090 192615624 573115030 631383134 513890562 273618555 155874465 870131364 101628924 358532237 863633958 244488693 307283691 600522924 788405217 893488978 296342139 508374996 627583970 660041802 143670683 733725143 264723824 961772457 664085849 688385737 387514317 800316633 940426847 168900241 651287111 971148721 450167156 190200313 358768044 843608698 742246424 685900558 614087050 788795923 280156478 309280074 500821192 488248975 328626811 827259026 263943955 715157513 405291279 160781417 281586103 703995240 311814851 328897530 657071428 491946453 849844852 714222070 707710115 596727921 573593495 535483783 757758566 102385625 796319434 388661120 424085802 362785840 900097898 335543470 451560406 186108014 404905546 144937328 247071016 790412094 572522545 689050008 532187430 789391275 732060526 537018831 385266768 747271511 178468431 683856072 724118977 152348089 901631961 180208951 326191870 316337357 767443512 794315971 921170098 890267686 746460609 487647440 639170734 971714015 896282310 258825730 905314873 877996169 182751358 630152179 196113770 420539113 920849187 173224334 676295372 518467440 515941200 171611547 874823822 705961683 853579406 445023025 341392734 943242853 729362125 835798224 320495305 589254102 176717697 794282253 127897877 773853657 867902041 857972527 265319389 374755069 907001857 365041681 827037005 295757553 652380857 795642657 725022185 144326113 110137074 334547887 164041924 789172052 150496801 945392216 944862400 584546449 759129678 361166587 237623043 573135142 943236086 916458691 577284941 613717266 772487478 650724363 799097759 695733140 915831831 257519293 160348219 688868434 733810416 331712728 761350506 755517929 613545771 756123386 456291153 156822495 761629991 249888768 142756727 649268986 955448083 646187484 170034114 446364313 460069718 481101959 785471078 938333813 783177724 709010308 856724790 517344494 710788328 193084297 654359784 173547626 191416541 115999188 650422176 623054389 232704188 593760254 900977343 831352174 998076412 709356930 100942628 542589220 864303216 486032271 650763709 916739880 917510684 560900499 907246189 789336943 360947490 916942585 716091629 639999397 933253616 384913652 989674863 856561037 857536246 971335933 716225627 424468204 478444580 315556970 492741141 720442580 758113452 759673332 990521615 664656511 611577846 454906251 258910834 936458333 564313858 223700531 608813984 743433157 781784287 620649555 851803382 566836499 924023159 771216371 140881835 543229414 760826400 135712630 773083837 421563314 136204619 316825765 613001701 445956301 516176650 662709646 327963923 318807007 637736472 320463073 889417902 239170389 400137219 177262218 581551769 537947944 948745142 912270226 276469618 590554897 733201329 663480062 493497017 393257838 644242656 736647935 326885366 114208992 895717934 274548303 393075343 633469803 149287377 239365355 318954457 292569326 614655734 472880894 650681914 646534431 722389686 982829831 929971856 206272563 301735947 820404747 276711722 829382395 517580924 133605002 966045058 582701342 730555511 217010342 137069059 950513957 557636371 546060683 795655796 312246946 214684474 672804154 327751027 183787324 789167506 936919242 672947850 467989387 663612235 131825692 620755690 662182812 175114021 487456725 414057616 674374870 193175602 680269487 476242050 841083213 246592916 627402651 852870780 559666109 217043689 842592168 700940493 322324537 801920826 730317999 493278679 156396418 757432816 532526728 122604772 797059202 642858057 119063492 979579530 660364704 810167317 901121298 711656984 673335061 131539387 192575999 458715298 334944535 297298791 841702328 595701265 625674806 353833603 550344221 560518370 937783607 210103081 977667445 266391753 835590959 914482548 480246965 879895747 994228775 693619657 133862552 214659152 436205656 336996560 296892190 802205862 710654687 178629185 431542979 757106304 823452708 518837838 163923023 352514677 402673935 138079105 444936809 894558903 933789723 214474565 546386176 632703870 405650214 658073256 684889401 659192129 286520785 447236469 351497946 237333621 506814555 750135716 236671449 329911850 322532612 770925547 216191991 786110322 782097238 426064741 248352109 342431092 194805804 737743436 183538250 451651317 558978713 333093267 178734152 836247012 899165998 346703999 714871862 430157653 913286271 178880524 688720332 941419543 381653373 168439958 503582957 590825114 242617806 764908329 767022569 503265129 133761191 621730070 126392057 204332776 957270187 555483766 881770867 486881202 113179234 262953965 978879824 815254203 244872307 897835104 852342272 274353294 242270475 109089231 102855846 235101713 590365770 475612540 783088560 929942938 471295260 278376940 461297601 824325677 518646884 844032418 966479768 702338351 123587623 362946336 987372512 288148773 115623157 359443797 308079020 607068988 420955762 397232735 937761310 959318841 800157598 969209672 179673446 975442782 762052879 140730970 966281334 886424989 884225535 548415129 336165908 932810199 187890747 872013322 667754501 283306423 775205855 241185527 877117740 569429639 271287014 588626987 233409090 808953516 704649226 480906370 351372278 385666563 103532569 834580482 153011326 597773832 150542486 782306003 652089070 552546201 944906618 234287999 824321017 959024535 760995942 698898403 521708303 133981478 939123564 625964762 119439132 973769897 804209692 426725563 694592918 157771500 124535439 647973592 231932707 314599582 207700770 238612427 144861963 695786776 544174833 362009235 850231205 713889785 723946195 324536371 846538301 127140257 684762374 523703997 996870848 649756830 134370396 924180946 316422861 788252894 344708053 763152951 162259440 631294024 912099733 477198685 972985667 723093344 624576410 171680116 966779218 176678681 396510192 839468201 107397762 289783866 686486940 436332448 636284769 452121863 490696452 562009894 799545367 331614026 749409560 389806169 554683913 270674515 558572003 206125743 849161128 341667702 914420145 140876444 897508489 310431365 639994819 769672646 330199123 585489535 561486054 262750934 384605368 354876924 293246832 627981095 245101128 650000547 643899634 378905299 678208814 580179517 505448221 457240281 747545327 522402040 438950212 216732751 576967599 895918589 703996810 520554559 232035228 256286847 960074398 552696748 388428386 376915760 289376944 682036329 504707868 131396731 601994616 940320112 721953041 434917397 773436825 270727516 347292633 805109889 902098126 811327434 770353818 160765632 539593665 956737665 193460975 981724452 397110057 449338626 589927527 361090922 697098875 847817248 807233426 316228249 554904038 442498432 147145168 915712504 381400995 403633783 724148411 770456664 768812117 665770431 467866397 511843710 140740464 453837645 929113273 296309927 461836833 549457027 961343316 635301616 621279516 224640197 496262628 736102232 251041468 124531338 706512077 880676434 215061275 667634246 590579371 806317244 837850270 865664647 366845156 832187356 960171370 972416733 399674507 201061952 277789029 477967165 251520178 732368533 340763204 902764287 661300372 591764183 769984366 923189677 213804217 594940317 977855024 795803157 453092046 132484894 638181546 429779782 330453594 947864498 838778457 137091948 864467761 522432341 860122373 898830761 685026195 781767446 602728208 157239088 736011876 556327745 565989643 570153079 430726622 874128013 136658740 635953167 620496622 196233924 623279146 208455945 624813575 235951590 165851340 772200734 641903823 906089208 516961896 968952945 975909509 888779471 449528085 713403256 333767201 127647158 265803373 968585437 586203997 392865133 756449909 545031779 309512828 544501420 861902996 539177255 704001079 171829119 845349045 335387760 518200263 751900456 570658038 918705359 373562635 278828738 673894032 601627570 798906003 403722653 137858014 844512235 700120404 667307378 519183210 958690514 880871881 135411778 287356823 660398543 625727434 526008932 851793874 654119236 482140626 118141545 248717765 124783462 426233319 404291286 163903425 266133692 301572760 355407770 387165125 749723878 597612288 165138303 676643449 948488110 372092606 960961325 491705717 814387876 245559657 992031206 621910192 157264461 518051622 969247488 183870456 641463793 267264946 959537563 698611626 596158619 354288510 736237811 367860806 929745791 591659963 771270241 601928407 882561418 382316922 445864909 134017810 860603596 156480977 640571823 995544212 106624032 343252396 256495366 944695836 995127795 510198152 422260151 608179659 159942607 918066243 545479250 385410152 901923253 230303481 610747396 384894498 837926660 550846000 955144836 898994186 687075076 397207852 264675288 486613400 675431853 202605022 983106843 561985619 650757306 193528255 204500395 721743599 817398838 265200722 194688975 861078206 391232789 759008773 326916019 796683009 695192399 747210504 238788873 662385068 229140137 468722300 959193148 712247357 884215449 363226269 878635832 436389324 953788441 385931040 493065207 246273396 370708660 388017392 516391716 723784234 158364009 627083913 625223535 959742059 768530215 412881466 739445608 318851264 808819726 806674217 983528906 803353758 140514502 693550780 122308131 530643501 482672374 497335353 225572808 188498511 105870211 548152886 296508476 238278886 778941437 843304942 720291593 668099403 294119693 383579062 785070761 908099441 961721311 851866982 127130384 605366621 906415683 348893782 914144301 648290391 672890436 739506311 264287998 258896481 951815449 275909533 309111455 663477377 755824962 861225393 145804310 616155550 186253580 995299627 774972305 730018484 690364033 103056665 138841940 345269624 552493469 323420501 209794060 244570774 564970468 913437342 883816882 270869961 410527653 181151280 164598061 583692189 804940230 687739002 490845944 136605603 385190065 151244921 434571574 390582342 495092185 880039503 763905521 652163973 884162933 958651153 629757309 872044877 134774695 777208233 756531886 729317785 607282961 450890405 727683187 875422107 668803655 137909613 195530957 783760885 977022720 229611322 665225459 500422934 546085229 531523826 149839665 247862139 382102798 699197950 649005017 822782684 126131610 349520315 721895269 862237136 140382389 806667014 298648685 479660327 150620800 521573183 146962937 781451293 730289643 144401959 350586196 891090440 905413028 463765420 641678634 368887199 911787653 223469637 480429618 225054503 292031524 742577753 213568839 955580600 505918878 437159821 412470856 646784446 275107662 560288594 462012522 676685239 576654843 372670091 232824911 506914650 703886252 531297058 321942315 975318712 749646048 435267433 571157081 773140138 864629844 518862500 724143322 901999256 483403542 996506487 215714791 301228670 582453445 368944749 821013981 360366542 927058210 872721474 764530860 917326411 949299180 383351107 262360682 510342032 466932932 962748082 241097602 115990422 776478904 517621990 961737787 359595896 291267413 935445803 833930703 731892574 375370465 101470996 950714412 142509312 834044443 356839540 822879836 908655896 199908032 304085367 405925315 108581370 909127386 690446040 898845339 237938158 142241801 449447267 996864243 450868251 166619382 411900886 133954356 704899516 396933410 907257334 495983533 633212246 636002727 784847361 890249425 576782094 875213120 211162465 367238083 304154046 934342868 126838180 486435797 598334476 267798829 384835068 977391974 737035659 186762682 408902200 343447609 753916771 340602132 674469275 221312231 281432840 267894134 639336808 410814796 554359780 454034256 634691270 993323920 768401392 978185345 826753406 545277575 257117015 968160267 841490966 552313871 927289356 118725747 860072129 194252037 832505892 439529708 907412209 180504797 350785637 243974845 770191156 785738985 893549454 454932564 247294784 909254392 639546369 950288069 800313473 712658933 366759558 243442450 656310166 243422420 423910934 150210102 725650834 168736764 385938657 100073784 154220234 996641215 507290353 669749945 811970376 477100051 175682649 921704261 874600388 890543762 108537076 364450855 822215587 436041097 755608641 465327209 366098186 245831847 793998981 171687994 761115967 940205697 776602849 207208342 481769293 880354457 895217527 230684786 258575672 172942324 426902435 500136657 749972576 670274285 478912434 135585567 939670832 526971651 357112146 117159524 287695953 760022551 119469547 617685941 211238485 869689863 816548216 494017785 490882259 922585890 209929079 410746315 279713599 220913191 770446050 573087407 465326324 218873049 536976299 204685099 603854494 855735731 982459047 294271639 163035760 996110106 192263842 543444671 412913500 967644765 875700074 522929773 611166161 595023341 449497368 753099827 871562505 944844537 141582766 225838573 315090466 599091543 322629930 998175112 134518447 726054156 220228474 156446418 414703531 945604552 112509714 427714817 911491387 247875895 119517332 500482838 467967116 936547977 964692291 761255877 662038507 345460389 148578725 659007838 347120867 679832352 625504257 780687143 410301563 313559699 649998118 528494365 180531965 456302121 256875073 494456839 486867510 572119457 335406200 161595764 115372053 375894030 462000260 118157861 656331004 729982325 218843686 698459898 972122232 119305535 904429590 722261571 944311136 242527744 125270087 881756424 622479210 732694896 461008888 604292273 229634136 848933492 181761934 792806851 595490844 677964225 815473649 828171964 159803563 530582652 672222106 217023210 233178832 992673063 841088160 637439647 837439233 399331010 237954739 358668644 464144732 806225536 168237215 447633402 291094129 219452334 725085659 765374204 104151861 492467455 766158476 495747159 941044874 775484719 383691323 753331970 620181108 244672866 254027666 551855314 822966341 114554754 344752323 432158075 351073972 490485182 330151461 848452748 585146138 542606275 921358159 366212001 804494136 633840635 175811239 355943922 495129280 885103449 627605905 724646322 695447405 752241048 375772020 843172219 358107873 908367346 668653043 829432028 593441433 616012694 563252067 195970232 249718028 194784059 165198253 803134979 483005658 441894900 495035438 889482985 538394439 854647768 511117393 606106154 386378732 251158199 369706090 862475275 323583847 863025872 696883305 830536375 325741640 413518858 363540873 478994043 751815697 676813536 760743200 603630518 978233260 650225554 822076629 828971904 667154887 870387066 894468458 369208611 167908669 669431214 549037440 393476482 255989435 954595331 784633705 750709944 647239993 604416397 134422794 317784022 429392617 440627658 345233737 343351739 140271858 918637042 889476589 437208664 100346455 385380344 830426987 564962439 182100279 809237074 393484761 190324953 294204977 762339776 459208486 640926511 640682600 607690155 416291327 779818401 740865881 971685226 157423686 959749763 951717648 525268155 726862717 364370481 541795801 362756234 981023683 659734363 147920467 409526178 736243171 309317314 499403218 508299567 540444606 771504754 111628878 360848402 803604683 639775122 494394296 645149509 745398954 343823392 600944771 580759896 677551125 230960642 895906052 593592104 440305892 344863594 137636823 151968770 674459243 604336732 910255038 865339157 178320039 959821148 918796484 187395960 537577154 831758517 145353327 551926990 655438067 874698932 425858395 329129238 870498986 489541136 989130361 365859147 937893891 317500735 666532644 750328238 901378353 254730561 394326726 818476169 906123671 627363382 574635300 908220677 490183989 508383893 547319222 778299395 790928268 836382100 833543688 202419126 302176757 158144522 114922666 979360557 790135303 421040023 993019748 738073796 478195670 776094905 387161535 335385218 512816256 923643263 844257583 939227822 590651916 614040276 878934901 729314415 776401818 110189473 836417261 333323416 882645265 364819199 935310700 909595238 480954807 101646987 699151594 185874932 713128262 541311298 283214533 744173256 174408821 338792550 768006181 322081566 102024389 674877579 593276798 619703570 191845023 162574335 564379491 586577177 486313696 177650058 802246456 542816445 757047427 216268380 313260441 213723172 685843010 142433169 303316991 762407981 546840282 338575174 142454915 234074136 237046443 943483573 539503216 509172860 609623879 290455558 381685823 316110218 243488883 562840057 318360463 145083023 393146454 876965958 692824815 870877042 416156642 486209678 643217680 268308176 892432607 341816287 367691857 175556094 818114440 213616905 997822299 195220840 121276774 152250418 971310969 694382365 306778808 815248339 505934482 902266505 596090487 682363864 805929332 886736085 159056542 339294818 341173554 829183320 731781293 775804567 112202735 200829255 329592326 700743597 824478587 929483269 903849856 668430202 264326647 898722026 885899717 933063622 782207749 888230668 403448016 923052069 290885004 432046127 729066124 753015131 344877750 937974930 583176322 707437087 442196216 414896672 398539022 120276699 166878882 621589790 821788856 707455888 583624024 560941610 284045687 913681920 806932756 538357522 924190167 520598451 155435273 681986090 877190324 331792760 296868588 220426346 109374087 351115797 927320457 440276652 946666925 169825469 373320098 677504052 772797745 994316333 207042722 580831047 965702076 115957079 220221228 398856614 840162700 742920166 287383511 118171095 680448822 490688862 871035449 576786066 695687846 945594726 119744717 879461445 911038005 393573327 489359574 547268476 801773924 278482816 185111662 459403843 782072736 352840571 795409423 389417807 882253151 757523618 910293337 262746193 758924361 335518967 456380357 236440304 268470154 766372831 132872461 554808310 946980696 990279216 938835189 849461199 625178347 341618045 847933625 271569303 910046580 597795191 210190022 510341717 339207463 590921256 937723862 369484307 963201054 104680767 269974670 758933746 888424553 137259372 276226519 164773582 430282750 163745464 356429394 281234446 497538549 242119043 342654059 616584931 835402338 761832343 109508612 452609644 650022813 160095838 438417311 759259171 650706607 374935866 718908718 280531739 258742407 410982196 307573919 308729073 200438172 576475916 586085183 793962310 370928990 119293547 282111284 302438771 297916242 428288202 929324979 437121407 334948849 256287174 703086347 475726947 555949362 352765535 832277509 204958196 431770855 489632588 783668634 741902927 308722806 605617327 604336275 815349628 439368778 782444729 971299559 238947229 484037279 925128664 999548954 570833945 532913809 669802473 391137234 886803486 409318253 842229407 829874165 535129392 863978615 990018614 100348818 646964521 844573974 893450736 704237541 546976623 219707404 727767261 348527185 437980661 994599999 105165978 872797407 986184987 718791566 974163639 980450652 532197994 790631287 194413751 369313370 220933784 991602787 930024361 121119957 717345614 213089459 995688154 924570387 237213629 753473321 461133819 380681881 231180612 641275138 297731171 962679889 271117087 405833217 782298274 421219146 731853287 490484496 855243409 695894510 423286727 807244435 211809692 781928630 452911873 525199082 737361723 578515943 715587356 251042523 231691559 216589665 926942689 583071488 838716155 955779962 429720240 844231052 315551605 445802376 403879621 380225941 498237220 981816898 668352274 298826542 906986236 778569207 421612762 679137946 277138382 947963957 725540370 165500607 189504547 364944389 636755509 824447007 366713081 506086574 481788454 425499840 705681120 642310734 550691402 124502994 520952920 189725412 143368613 258147585 542965917 686776940 863519316 842868151 387236774 787889588 864550585 665028566 688983343 666014107 940718605 799008198 212998444 299969780 181011519 634610410 103839234 162906258 660409221 991464207 888569972 628870014 651406998 765012434 113747731 656894869 599984271 478094574 785035847 746546075 457606421 715623066 305494932 905327307 606782706 177931060 792240206 650134358 812857032 439734383 178677689 277563290 331361050 437148458 106532308 318976492 774444968 809605688 756646205 263569549 222710050 173491675 114490029 799363901 439310255 308955096 709402738 997834620 683657092 357960485 392260319 563030143 254341046 378356661 484379816 392371298 416445411 639355863 681971173 276109057 173783418 715751013 222865935 148255543 114944753 361402809 568317611 332949580 690332372 183232412 199432629 187240878 270237991 952386290 863694628 756803570 254964052 914721718 622074499 524471397 551420464 566108381 384967828 534265223 522222552 512972828 197742677 353158284 864188762 635030846 602436147 440643170 155638125 872541015 930275468 259632587 455037134 323041376 405727318 823294260 680875913 390561906 258660966 217507450 594382884 454586961 205431034 660331950 862002562 146592527 118713642 474734097 829379135 461393008 816135705 562851646 727097246 548088369 966689927 128072689 692608731 902322412 969753320 442382120 584999768 723316273 579124630 222956035 250261101 140896953 927396082 683043871 173739280 590706929 510029114 457309692 892985329 527583606 308099054 171744851 481288617 614032616 836002319 642609848 725480043 389552954 481873768 464498328 332591331 791818596 616769545 695637767 832024095 724990001 941423657 261076967 731599966 875203593 691984074 157516584 316271167 683797281 610753292 670616857 345770281 256422509 985521501 367080921 669681778 255741734 457131252 308863754 855444145 657904162 528862177 281379567 244451939 639721248 917686455 883110197 699558170 783085447 550309712 490664081 528228636 940160557 629739529 188516284 521436352 622835418 623932385 829659659 187985356 365215973 916904255 772311643 631200707 934067178 290328588 926202102 126190592 612710943 548732367 829007332 144222756 867431554 468815071 414460937 814209993 315926336 365095358 757225444 724137744 924948004 993619344 358406096 468915832 244729127 476187123 122247370 508573737 203455288 724597493 761739752 627451100 424502242 327994421 413424252 369756514 755335479 456018069 584338272 986094437 906342690 810890884 845610753 796450566 196637301 143366503 535889446 943057928 726598078 999300173 159163427 328341056 156867175 503353125 207912187 565410444 212049354 278750633 946530434 574638893 389782326 269427987 630435501 328077988 651378679 735724462 823021386 297381881 242962482 211334267 258194319 473131286 823311559 701325429 265100776 666255848 836362182 844650312 433183007 937130277 839723408 564402419 309133989 131759162 733779483 261483601 502335398 419704273 255317890 803544487 990758797 691382028 411744458 457312883 243130100 469000609 371100615 892986900 154397219 750257560 511941984 848189267 497123816 752075794 880268304 965349323 781482857 840818551 313225342 418789802 956047356 854939500 790626435 482415457 411630841 680131050 337520343 680463649 135069324 312046186 916723653 811768137 929440841 612384338 432665392 899213582 653702183 113076031 287505352 648600780 285901162 211234140 689226068 592811712 862508468 681041027 522341011 988827374 872128850 646185130 359366252 481706833 161749181 395725048 773555628 500554477 738995228 395818769 126804671 467553428 647223260 889311267 342100224 386785812 714630941 483291551 857102269 598407319 319878458 748903027 681745119 830669082 116957356 613124164 659134632 934508127 167754517 605818276 552156455 766554733 171407550 286608006 883863578 155663007 863618641 144661293 383490314 114618404 272016295 842330508 914147440 124223905 664599474 282759657 968872547 685518623 840233563 950997286 886452904 349910781 336500416 194578507 425489450 391406234 123149157 218884446 463650342 699566233 227825344 237037554 588805827 950530388 192838504 648459044 316487865 119571490 338062170 850791785 961707252 758819753 160609404 179479026 625560292 709658088 247742298 875925475 206567751 679519365 688806087 548264156 835279479 555226278 568439648 775394594 302166667 455615970 677851068 598120636 879226967 635448122 908953883 503796853 664391642 368313699 168219824 805819944 873738311 451396634 361475058 147799860 108493942 116446086 335422806 177927048 646450126 175832395 889756801 399867135 805734088 117156280 252846717 571885158 330408287 441968248 248563527 825693692 967838313 119775573 368531454 667734094 690718235 638950302 564180158 287384987 512363999 276779495 183777048 422816329 219594925 404355565 834253747 887374761 116272107 554258022 787821064 458798680 235195605 941909032 420614597 858416919 175681568 700742548 861017582 284403748 730706741 644860379 597553262 503319053 483232283 103645080 690843247 915721688 650809846 411303684 229605272 748167919 328012800 984304761 443628784 525181738 837413736 562936048 229774667 690205925 823398393 210265333 604000244 192777270 916717806 271857230 730584964 664518683 179766991 252649685 515733326 443804878 316843937 609438254 951240100 889191658 567306367 774487636 666927510 949609895 871701483 712322902 265365916 753929500 808056317 914239748 471909160 905246736 735247102 743912209 193547773 855710089 769042693 190518311 465551068 873366401 743728788 909786507 573714927 570959034 956964745 800124774 604258650 984278511 882827636 690522285 573489309 834711541 468063144 816154510 335951334 915948114 260101512 712751778 556893627 789281974 459881102 784455314 160309622 154344300 318088310 561225256 209294353 161074475 201999256 571632597 294742590 900540219 437597466 211447798 792462930 256206401 522633424 860431626 839428258 847911506 722256640 195455797 535110660 263236036 802118465 657988756 711193175 499895593 649719050 734140240 301632573 754913541 960158325 943272798 344212115 782170832 349476908 914655601 160117087 773738406 724297036 247979683 677217031 816020953 108887632 712041169 170026108 947454472 368331785 645072616 945131956 380100370 272939379 272485111 928222308 348503085 579773077 372903926 878367971 559884920 464077230 650790644 228528286 384032419 692001747 116060598 177772102 216240763 391069871 938779723 697609718 177124566 384186430 500085857 531710763 371759059 640486336 515930744 755700195 507286990 777755549 793677541 377253162 866724745 217141355 959057765 553746783 725825488 678707002 200151954 978225424 895388677 126119916 255147636 221598426 819482720 665977407 299377850 462756521 260406177 648045742 857139562 353902573 480044128 139054743 101112135 316825297 468763543 557742764 476042366 230026729 489195642 597836997 249231756 298739199 457478215 115312573 132595955 164069774 978623413 503177058 706172057 192531510 262178335 670348488 632302739 552141954 848041153 223135706 726499276 834517948 345841061 128457230 431226818 736285186 568838745 863959948 142613856 849972291 921652466 167028474 389813795 982480895 348682162 140309890 914850392 897785279 915385409 540837720 337461367 265983647 679465499 425137295 591434768 189436953 840539799 386831782 126110442 534883836 685642098 870016153 153771641 619449411 382948825 124213717 511144164 465241086 766663871 759114288 546879052 133172297 710303201 965034882 831297127 828946673 641038734 931951993 651038678 217161520 770401114 254097325 961717881 753729696 696005960 501174001 438947223 102846626 602061947 483742032 238130105 747463772 218663242 105640431 167325494 927193822 505035656 942615287 509403680 814813689 533025476 815778690 151977469 147939299 789769379 847065180 680758576 820803487 378193371 605635679 391755602 460053336 270883602 599988126 810593342 590186813 928894348 160921366 416790731 637930624 971616909 212436529 131348688 699301339 537621002 809698242 113523436 454218896 469818885 868684291 317462179 230061358 800178011 576074301 818240519 133784229 617870663 549704051 374733021 770887383 564096965 700592772 105719038 825147387 638718279 142825626 659980079 480247468 947182668 568187801 755719236 910858742 129826458 232648583 795795060 685210621 547811021 476474438 814634214 322944975 503449750 972262073 321405328 749670146 469108315 248100921 838922727 319952482 137568468 407158491 464617482 357195563 447639021 800338922 405435845 569832610 278528475 586372977 633826320 109743858 755328328 921814701 424155660 628044932 992894935 208099173 832436657 418210660 728992860 370837765 326822219 954674807 316393648 771166258 953362530 744265925 849486393 725037984 674599738 272107166 800725591 967938246 820982399 201175509 683647140 891474216 918921813 362761990 915799622 464552225 623089352 481217245 931256285 356238706 250358515 575859474 380949739 760896249 520794648 309506190 729729804 935901387 883640151 143224092 421463633 507642333 990890362 571601062 906802132 432836919 830879012 626444296 209394526 658607025 902679411 833822868 689732398 829148784 531028357 204791068 132778107 626970469 361170718 357150573 994187714 718012654 607932556 802151618 789710201 854703284 161753202 834670319 753439665 480310940 506445939 783283126 325739683 877018210 724311310 329238444 356572805 286551946 963704631 745238905 323653249 893052552 164184502 761904303 446724775 547016218 105040662 532315684 424824927 679608789 955312477 809633380 184964673 626832400 833688912 216099233 532140002 505324100 426900546 320137865 703510562 100276956 646692851 133156193 504311394 945243195 638998234 916672219 207173320 237206714 284986055 671916800 318817384 875396381 203471878 727542778 836590259 418015873 942655307 202155806 658446228 997135969 483742619 839633430 853183890 138816372 457723886 923189891 524011612 794139731 899481497 215246480 431368243 411475689 685455277 182758141 403088386 621733868 502915989 767531586 228153942 251010446 383449957 755955529 374248217 435253212 573564085 132554718 126565578 452359511 714540760 524363293 639990567 947673573 708841862 645966731 715112394 209156416 448443484 768884990 752723106 206234471 726770381 245402378 999444517 138462968 650582720 986784271 106784060 500973533 605091416 521318064 582179399 973323556 672432000 935120526 259658052 294586024 689695336 675526778 631512633 223810867 135341072 816083737 268297349 926819892 143643913 550050773 226449408 441402287 111997068 163884822 884195991 150345349 981980131 427514478 430347630 779947263 601853690 835461416 173823616 257767119 915613733 420352887 254564832 522146189 668942473 276666764 656115323 378528078 931621935 986290474 448829196 993562081 607477770 581659465 273924059 318891168 584406869 247398729 176296674 491199888 779564406 724716215 452172265 141977782 667034345 778591990 300099022 850531469 714802092 209849524 697393732 285010478 354749670 535072198 717412013 664903780 828261309 819939981 441901059 505500237 658473332 477648189 631594998 256017347 353891021 479688147 222570689 332425440 722479918 758738800 132379116 648149702 762974842 288904745 959353297 824557608 437246572 273817911 290058211 499067573 599198725 652143850 625978701 232759771 895960054 893072061 823090598 833690445 207456701 748699787 122853184 633333989 229713490 657815614 385975274 900974797 604857718 303098359 303907818 687036205 938092966 911776727 767212261 916659674 994322288 981551649 807784278 310284214 448283686 609403343 309530075 618999640 797249557 833419629 451574501 220011495 590446790 156354756 179642322 318632560 474844006 544512551 779862671 838497622 773073539 692185732 138508415 506283917 797781876 887672426 193536810 869872819 994747531 908139491 508006215 830377580 888994789 173522226 887173173 395047309 701801730 619196753 643105932 407805860 807082506 799496957 779825784 207099465 257349513 368980103 738403833 498679177 766138595 429604491 269326354 891689267 877971913 423558488 394727750 410541738 798138605 319286374 963151293 719719648 821837883 689690307 221646203 374508142 699561911 146820192 566116567 243471363 305928025 870865901 534489036 386680725 927065816 879772874 297283383 587693418 993221882 771164732 823290761 859026075 977569448 891637691 671091985 156090844 275513278 164926753 325100121 785591994 438423116 306754923 639742834 916030401 383429507 584515759 538706761 991704501 817962910 450121050 861490339 771734764 622476406 348004368 402813689 140572477 400628229 255594750 765601787 679846922 547479498 545730849 735896374 812943827 201174936 355180055 667954484 490402838 124498278 758388268 706171867 736717901 937093846 935191543 515036187 867710588 658502558 324016767 262869586 502483969 741837224 935053264 442019115 309629414 268139890 876958631 638913840 137039557 304391843 264785897 826403286 863317792 704711808 548883030 534376502 175010542 619817778 416197348 286190599 352956679 620892477 242795495 819327328 778217810 936041554 270296879 170569075 812189843 390048374 732710214 935548804 580474367 534073284 356299774 151923675 546249573 262055318 788354863 311127878 843879025 181724309 225827642 862901507 655867275 842376875 586925290 909078172 981836863 985497001 663922291 872776970 998990576 311377328 669651384 769426308 221254370 788887308 710471629 279340211 861941856 216842586 203434216 411282409 338327045 357318740 656726357 990152592 749412098 538263993 367986484 391835550 787141610 160718538 818423955 887289761 877744862 147516511 561310280 418785176 444718976 111707873 299422745 658056466 927301758 183414523 841666032 649059856 895550288 861221774 626405987 415441554 408240008 744950658 834444981 114947144 648706489 690136253 348078542 181602195 898525343 460702388 882663111 117896316 502786541 616838085 908409755 195053665 174484406 868315275 441526210 284199351 541270433 693916907 660602166 749157451 686484659 226092191 276324507 643292160 852685017 827865546 507056742 939782476 324661118 176092291 921721058 971029842 366258027 701049154 190727855 844004614 622238891 743073179 853229790 261377576 297451110 891246256 413943642 824441438 925203415 478487669 175266482 816398923 798720303 178337620 499303556 924857222 279320644 756243925 168503995 821358063 988993075 782348128 194131958 873667334 643299842 902409169 704124755 563219973 584652124 895719214 668133480 316508383 891400176 188173766 979967059 650457592 627269895 652725257 609935978 971994748 349475315 916770868 915950174 219658966 408053503 749831615 503932235 353061744 806246000 957163300 949735145 348815346 202740629 444682580 309838595 896962742 376125072 246374666 878214920 175226318 648836074 771587703 214637384 995544506 209785814 716729662 138118691 177760353 623343301 984185042 481798504 697762279 236585309 254487889 955777027 867204984 723133322 677422154 871177683 868946955 122446429 605171794 370223807 111816185 679794003 332062723 994121705 194887574 888439818 599797533 860130492 980637828 753165682 501107847 896959548 701390542 853976633 514133404 526975413 369307402 550775354 303118216 901577535 278060392 110140120 945033685 371799370 210169134 660946178 635522831 708854874 522329973 942166445 500546080 395719039 933466419 708156909 581009679 175428239 306202557 247778826 325426161 722014014 496183384 179646230 236785033 237686617 262883852 810585929 612260055 564953747 557973133 965164218 217086918 368561676 865320255 596105610 188783284 734639295 339071417 156155996 661894264 542128853 978695755 436514424 840582882 374786111 580720680 577634008 654822569 876170606 829289708 614844280 478753799 654720922 364559112 635222765 838977408 341712101 139794381 473118313 609939505 464668996 918310726 499558047 324074322 169114332 606345772 553290640 938009739 511122928 990021380 295752205 387735614 655514670 774256036 307126858 367625239 662040608 112839280 465274968 745244808 171424204 896708024 881889106 877946668 652713403 556158492 307020543 935192813 561233887 264898546 718356579 682313197 583445953 344690753 986065946 169872868 992844113 737838565 699122162 531523956 196581761 130636610 886146703 531319133 902932103 972407843 392935753 154470979 534645463 180972441 594704287 299696243 597522330 524710574 314051814 840774728 428299328 375161852 491149296 804873201 443527828 271035324 476432978 227196211 321277224 646591675 909441587 947610053 523836148 356185559 952572183 248439833 100487438 217020432 343531053 540901620 139667610 559979324 627909035 635399498 882594287 896021778 586685790 796097026 120514357 482695418 721865709 618008795 274017599 238381137 691758153 283259715 995496367 442043004 835178776 798871299 155033260 907710683 575612573 781602244 277402230 759902351 765691798 306759402 800884769 723871704 995099349 696046701 394068748 791145667 920653554 750492828 662815053 378901018 719655014 689603834 304327424 354788966 645609912 221111606 907145390 800377162 733916053 693849164 566743141 693695172 848932676 771549939 891054245 495249245 972674445 158601250 760290148 978333399 358850422 607099980 178774214 580505949 973711876 230854340 783959099 662441025 479681040 790557994 735950352 899026960 247709766 993946357 257192416 763176793 889835091 840564245 588269009 811724657 130469571 392592829 729668630 709189932 231245564 439040480 913355180 121678987 154069274 294549164 111640804 765625042 623553468 727771131 752818332 243604516 314811504 256517024 812769996 281488579 710010602 931033265 672035356 188902335 650251371 724655338 933554718 499795521 677069343 811862653 908430501 201490168 977170174 204559929 850855322 596025418 696262866 162662184 811780464 939754832 412022780 211667689 822963327 665103540 351446310 854883589 862194616 139094143 653841875 493511626 524737229 580694749 794620198 629238442 956632930 335311542 141112363 218482025 511045847 981107070 390131149 996991078 636791695 739803578 610569692 334486856 631627924 213701786 769658773 978323756 984842547 872083766 384406561 340791346 863966616 353647238 616274899 720165066 586930040 938726265 760294104 438346894 378901079 541887427 196907565 135772596 424806482 459400780 601897055 627302701 432029133 721254767 207605780 800917220 924780286 221062235 975229523 692172658 978335464 151176455 434647038 999869237 111690981 784804604 152889860 209724774 392396980 880452175 771069453 474784161 536989181 118257257 577863813 704995015 933019384 912665215 124665888 719305581 815348606 260578547 958912123 551910028 721559258 269361790 794207147 403742168 625513858 920743537 358031947 672383135 420779812 890997621 669658139 800920939 477836426 459796102 227015943 907592461 577214671 922672219 341695012 189559527 770231068 318103902 262704822 337481863 568720371 566713517 463189870 440369123 361316279 402454216 925469525 259601219 265780907 623021008 357210762 763676816 496366576 885919961 212650486 415924178 868125898 339087426 821891302 950422444 925786314 594722818 933014678 134414274 472376815 232670701 998522192 873451413 303628989 315141856 109214288 490377675 744770591 594541335 500092795 925372364 698139401 455535973 623385239 412487786 314440792 568724764 820514912 427481566 362584520 234710996 347840606 838769884 913434655 976055549 715144808 925126674 256708369 818680879 245927804 181002207 899680230 594863120 821261381 707797233 771937909 761606259 946123366 768928527 844359434 457661588 117702039 376447628 438232143 626185574 934145036 507969064 895241491 402288791 835330348 484972392 348147269 651104658 227849596 525709823 665135929 388184932 579553543 949722710 664066795 400308401 895520497 769573565 694249460 886963820 934201977 210169547 235361464 270885262 200964621 137088231 302377790 887015643 337280736 927613326 335386499 606726683 134398272 775266307 216802361 720434812 158924758 310105692 299094132 370037515 774979682 645105273 230604870 487723384 922189493 916734256 829050525 255366696 199132861 857708179 680445528 304532106 812133978 780256443 713504729 536639209 597365258 128556635 597270715 864694860 291641852 858926198 189552456 399716317 973112939 540710362 526029571 238936250 957148414 377877703 799215549 193172771 799190571 830569702 952318144 932978175 860728931 160395519 113122008 722653588 968794059 523152910 701806951 778127115 977980573 352074701 310794360 491806599 481907885 302106746 515922731 637912139 502320621 635168405 649215018 627719455 686489726 891701832 198257075 381069492 917681358 661218037 105822423 109558658 757923726 342543907 571648883 618061980 464582898 387718160 276330822 531250885 829701909 843718387 650461550 441668388 454839840 679385619 677972591 916931609 882265136 508431710 205975061 225438121 414581973 680841171 445267564 645236872 847575839 787742012 111715624 340327738 611848487 997113126 874776704 537495267 511694182 326015519 592940970 498369586 576498121 458602433 722567224 593159847 266495618 320865277 446291496 277032490 274131645 605760815 153064397 875907886 261601664 850155255 984902239 730092835 818784283 929743016 467399609 153861861 356464420 785234453 207782264 286348071 254785151 202904353 848112335 862946101 656473079 621694989 218210800 533405443 142895839 853380285 674859575 576307595 370828571 494480588 902776632 258829429 831846321 548418661 850690058 280868415 740654079 480399444 356651489 286269289 324545403 757324045 897243921 459951339 719655720 474505170 922433154 715182212 182377782 242760901 857033641 864727386 943502137 424084490 978270786 446009422 422652795 339685106 998119376 135542890 667061324 231584374 153077914 896244757 949396340 301240862 873661791 715109381 595149127 942691712 338195151 870424271 466182561 724405743 609102103 321181371 875934371 175134183 548493917 789349481 924571396 965311274 677339171 608029510 995474992 383414217 136885478 417512315 160079407 495426682 372537334 554343226 788927590 806980146 201885682 384849547 688877087 638013481 691405173 953888210 846484816 749751192 580377040 943641288 481184864 412289790 103540605 537967343 557977408 422199745 265468448 443539409 292026241 315482581 485923155 708288615 294154572 251645025 164434930 168294982 247957493 474934707 888410335 226110261 197440002 302054424 960842280 718174185 784725858 808831425 206189343 508204505 181657114 672996601 598394509 845022391 366429176 230423163 863924992 496089847 644498156 906178031 255669154 654511546 907162784 218252171 260767488 343735800 624095665 735180696 152961957 975352873 149365633 616009886 193548239 122619847 745212493 856755432 359302923 118561789 476458445 594869114 855232062 706439488 625290141 362043128 233732213 585027097 168996239 215452264 963228390 583727285 454051351 797969135 349592777 532426187 949354122 981524557 196355789 830536695 644338432 669586937 523584565 625036613 383602241 770389600 105953506 985831769 967201661 429610865 445632438 779387140 704749764 199026020 949388684 518831815 373557926 178024802 888851153 774542060 455206475 345500127 124118566 168207648 118133586 247709360 614886252 514427820 702271654 781883901 128102702 360853602 862776125 243587293 517859563 823206131 732087075 542996106 918588628 868421713 822143798 689242028 732468853 206801245 791366185 399117955 126410033 243324007 128231120 688232606 186467406 487951684 503813796 165908609 533077289 894390189 647447210 679905749 317269534 798992038 679672902 626760381 225259429 470674173 960553376 900946545 650938268 517326097 675060292 543358763 851214356 691841945 607356735 726709545 283271406 529753169 261235424 796636914 418724568 609458544 323565197 539016910 994901996 705826025 892040891 489620037 213684152 199822131 772426829 110522463 427254617 718552429 261856025 711466323 166119017 431753444 524171387 525684842 953329262 674145610 421544436 931374841 962468042 147694681 948225763 972639922 640584657 773832209 528237315 672320045 879155020 419755633 854588219 873687772 800179554 763619508 613964009 669039498 187654343 162721208 625427062 313022132 270276709 407973383 876180706 731761711 179769077 903895494 486985202 117971836 560485606 254022077 518502258 391661724 274636961 623318316 486639377 895199375 981564514 408995852 956332806 240668444 279345701 556264330 247803520 116209017 490667625 445888471 838253356 790181213 629094704 924919586 630473067 983501134 498910517 132985668 353626062 278120133 245734374 749404003 663963916 191407085 108447510 976257298 125366858 414197284 279501384 235258398 181366342 962165366 275236041 812520823 114432242 299757178 993216633 412601130 987099792 766312683 132628651 757121574 732416312 780208694 938361421 876599889 581141815 713764491 313908244 174583088 545366215 451802472 581849661 837691842 115319633 708957287 575757477 842645361 142227270 231442266 614260710 817624062 684425166 679234158 710954588 789189805 488677185 271382182 272882328 871507386 922060403 761061409 716553826 455115942 381756055 734908711 391632787 160687689 434619091 997449066 460853181 169801671 900661606 605564927 554317080 208955658 416147245 628707039 750386613 276819453 607942754 157516435 982923561 633526800 895341062 266087412 384379938 260231751 749652299 122153934 126346979 356193012 927999382 968760327 133064482 844216604 402723638 973149844 705904032 519980880 851974127 392306802 327137225 293838134 806641873 855902547 688087514 128009483 194064109 318839512 393781468 200504543 996607606 294675823 327927436 353344042 229450857 336064483 560340684 962552062 560460184 977377747 682155264 996725423 360014014 930039216 568469969 407966398 477423629 246503812 586182394 901891567 544544540 128705602 840615323 379872509 616274349 861740734 351405049 838620129 852352895 430130146 950429696 803509322 202845512 357041343 573239037 709174125 377497434 532416233 832918599 626881230 224528665 176173833 513207637 780547507 880823717 625398288 318275679 498515262 517742166 227031624 527711765 167269994 455675190 326069806 659172600 236864462 391977094 113416597 940099560 703445235 827382699 447403468 419217791 857585530 823902473 180906187 337482773 132389296 910787624 294359100 864252523 390900590 625084438 175319626 657596658 153369291 748571690 179437365 258303617 921121756 659518878 947173223 597293662 400151716 800491025 607616338 637181695 397293984 330832868 236184590 921143273 632379395 689243369 420141101 125866435 215413602 112843539 885694255 566526776 748801255 401251204 168891606 928698900 702205115 923359496 401238490 256040508 585232940 428739953 382281562 769468408 951480406 280554822 663473153 414932139 882832458 137221113 738550038 315895621 658541854 661006433 746247100 103325123 791470223 937948394 603047438 703151092 454031498 572989349 632316445 874152637 768542092 951412940 559472107 255565296 678347548 547288801 459323634 947106886 195742232 173464964 424455609 582908589 290852702 847112352 634076851 346045902 618435222 559676260 117116157 243784993 630280936 954515421 125166895 742823843 447565166 660254741 360391044 140828830 989267876 456856132 729872356 699078724 553688600 164850728 358692365 941073836 185740730 667585031 554483396 608853504 310887871 932250099 154364215 843544392 326311140 251327654 438265009 675325997 347494007 688676450 675565892 954487783 670097699 320893118 688717659 218188787 374473056 886707149 524700311 212078518 113312487 591237393 959503848 326225325 589591776 334281948 509021569 710499319 264123373 414775763 793853052 886348579 634020229 275095743 613892634 914875306 889423026 318552010 206277794 134625778 970448851 154490470 784827094 518168532 594352500 122337022 716728283 345152719 406573269 253939566 958088675 368694592 566986322 425744772 823736095 495689067 279189193 310442217 876944135 542099438 774340913 675436488 746598196 766162608 885198851 419512464 695537620 999898507 677712745 345490573 873351941 401632737 678601440 627045127 526376618 647009333 598730413 295666514 889736296 335411446 997682049 544620463 170339199 110543437 396240285 197048321 286255004 754231744 643804528 346079919 510949210 956794124 927117756 617713823 319362663 764353422 729902675 360962003 757849722 388168941 767602300 408369348 173490287 299840414 535145932 587473726 568194691 855431897 406331322 977509403 259542729 211364539 562218569 818732295 599534907 657971295 830283769 982799489 837072626 626271258 823695196 869795614 529663531 148331019 823150403 896897711 214968845 587062395 312243762 689078791 839126607 893018437 269622639 228615198 362476887 851100121 152244666 304445392 451807432 748212219 397083613 465418199 833160766 433496165 123279600 779129250 399121379 651806296 614022854 473658610 321512915 339004345 890818658 401741665 189180115 353560237 806594349 937130153 514100875 522706477 791365258 504115883 483746486 798965188 312637844 781749059 109368358 718985871 989534791 634429903 727907498 445024795 242315528 527609137 386386794 287297230 139433686 344280941 144149524 538963138 956718868 163272580 201070673 998457663 575369324 233320089 808698270 370156723 315294678 813715220 864173765 226258050 410332960 166915536 611293294 758222307 626220851 310738007 303961973 126089709 573743838 252660568 191068667 377420143 627556760 374870094 233000334 502437532 146937372 468885176 433086909 304642221 937361675 295488208 221555914 870042361 792916749 515717790 953776133 712622614 228791367 749576515 464147943 671103235 251937893 594775421 760643272 690911571 415915283 254293077 611855484 605550706 472858537 620825133 577006174 379719450 100306569 331141010 236056899 931523848 740885598 897960710 569246378 965245222 987354645 679144022 760057233 725135157 976324651 259009004 184102368 505949128 307758225 555304664 596037745 482545764 399800648 137408461 439785028 555483210 726306068 817205141 501696657 409387929 460308532 251777715 657334392 292926165 485048158 420968831 659988940 154999676 626667629 485181824 154011866 889782582 818019628 842594530 341833868 484779931 430807159 724143855 501070860 737312446 617570889 590735217 401185054 636583684 515130516 493388775 914097443 856340049 523969003 662588036 258778865 883336246 771282547 923349811 553926150 703292703 451596514 492792690 857084567 224602313 465062758 325260860 153994621 973761315 412997931 650879711 711716384 406602525 708487197 536422693 353666714 200611068 632444743 856148949 706762519 658112211 872217394 701935875 168890166 585263602 112869309 319022805 478541558 973555290 312655378 115897838 406129190 754019267 296363720 650590171 999108261 658546576 919489251 952079897 587646916 719881926 776235543 182757791 132070456 532818811 328573162 508883460 359298012 674428310 705921313 374806321 703150265 108908781 547257182 463667084 879928368 683195449 628202339 244882761 709259046 686816019 663872208 853278543 708010825 855902492 339799985 167823303 659473118 284632473 202203116 460281632 722641953 827473247 118625157 573764514 679333660 872843021 355048654 169294758 612436344 908455347 524230204 679841313 293745914 932654814 725127341 191671176 575147519 422373897 119218191 263817241 496316943 873149207 625657363 997380346 589093143 705170036 283221642 643522130 284396994 700926209 952192199 579340591 996236639 137511496 166832796 397552386 184995448 305929375 145842862 896363159 166666781 740612310 758224048 684452268 823870952 454565562 388561690 904342728 931167405 132536991 608936532 661229152 404321229 760419568 800318899 447589900 828013508 136491245 820624077 335258480 456845280 501392036 508916170 683509194 730027808 817748639 835944780 341147056 829855745 801010220 442963385 537486571 413858392 613318184 403444189 671073915 286012595 113691439 179659016 359456272 698952220 315156788 307993182 529796712 978096837 544007806 357933172 764039796 807270492 761668810 484618575 409371098 680883809 737775821 875828732 740752853 214736637 268672338 148808651 692422335 983425531 564704101 527525051 302222706 922022907 570830472 581755971 432475038 304538844 784580068 285926521 990715646 729794603 919243220 826682874 271809424 525216646 722487806 370529323 759287878 932643325 800140905 822567407 101480641 168130144 903772673 542166507 840449192 602079517 838004838 456352213 409220798 641201623 191000747 929187855 284725762 335441788 924739108 643807780 600188583 972339173 662659201 683137500 834517237 243238251 944409886 734549112 476088635 925093599 869932363 667759532 509598188 136884499 356930948 199980807 652342922 960411948 484844232 258537501 660597245 502272904 355379273 426279306 389729831 106706620 409995379 491700080 485931230 963300879 669158765 137715563 168034028 389042632 191380375 222200507 120756058 973919022 204234815 241781786 211782611 759181750 587414737 458739897 658587055 421925084 625509023 338569090 464533751 287978227 269927536 644338111 817226907 255423961 248041107 330438079 190449415 779162824 361257338 356723804 800314731 663893618 439987511 743297518 801619223 788696195 928574067 225520103 255397690 895395726 300609905 712686931 552160869 201417448 102478776 494654759 133187339 305583516 643332602 289847644 910760952 457654979 220280072 921455893 671842362 865888392 792900757 241303990 717147906 778171533 373963202 350334582 789229636 941042918 231301662 958933213 487098346 640852540 589517192 265657336 262060329 971198218 908856534 343254179 899054396 857382745 835012361 320067594 706207137 883220140 745483953 465024989 361079186 588547920 275330202 317102749 745253176 878244891 649710846 900320309 736173085 372474364 312724190 330792261 545955676 427101821 959996554 675433212 666940365 830100008 310533749 381893379 738597463 537570790 198195104 288898929 255120335 605145709 509437968 744864524 509539503 534865934 847652603 557454960 710606573 537804773 672298208 213342071 685859124 863980918 863894808 150058971 298780174 601878035 134457094 942466733 462479325 970512515 993449367 569033973 286408799 851768276 938182422 787983198 989817058 245657403 471494223 967265404 123046607 117324866 332652391 726110864 774688960 267472456 319276827 697715732 177646321 968515104 967970560 957709141 562524719 490156249 764046282 129725477 973776281 525043445 899386988 977980635 181722476 194369679 361455132 362070693 686313994 820551499 568519398 273549003 581309718 253484777 444276010 902269495 296844357 329470745 629102649 121066354 719991955 143795420 915273820 841182456 963600459 743275498 900960313 476683583 400666940 201782276 815533702 321968980 853995757 775913187 361567722 423172757 621306642 980049864 662932997 314070861 405678404 671972932 491995178 771921654 623320690 720098722 857300885 452791602 628855474 319490954 939205944 848085149 880252227 468037651 108470615 961888046 625479027 656034720 824273035 853735844 653895855 527715369 707208035 762759071 429655221 570790068 412458580 216208884 344387936 698333096 515845699 232826243 395068592 270281829 920373781 759255912 353294369 492165121 246333187 148654912 183061565 308605669 677310922 302024398 407956322 685262657 485755893 828783212 660251113 215244065 902868214 337040693 539276625 213013856 445618443 108021933 452943226 234917771 565685827 500232936 859782255 893381656 295726112 234841289 540494417 795546182 166132273 615338285 449216322 379078493 735321361 370847883 612982617 416335398 832495314 229516137 142444395 691098054 492477687 807805938 644026456 801215466 104438995 525211435 583734530 572924919 952611168 613625654 265255170 540958186 237749675 808467077 129231782 468495252 150295695 914142601 768676465 199221674 381346761 569620682 738047574 906612208 794097303 659961294 317640989 817641990 941974722 324971265 288240376 125290703 563474742 987365532 361351447 177988196 267780914 620756685 531121564 867082625 985911288 296157935 570745325 896413462 229332533 542852123 845021653 154265436 185286267 236476399 303896006 320337608 239469600 882984815 406411605 734666401 717284147 129782956 222214596 211911461 884966194 135321446 523758208 597333994 937627373 455176498 288582049 554195162 603709099 632913557 724576658 546882722 825076799 124600843 357703306 420885112 641306981 436262308 717941338 206674384 929834439 149205389 907288829 887185965 225745030 891398169 617990990 441940164 749044849 738881790 601050132 826215106 354894454 125001119 833888739 504460281 211774174 364076321 278234823 880180877 751460238 582634082 508210168 319265865 623479180 674551291 115122290 176512258 853289500 688506328 892408474 350812005 413341033 554549663 507805417 818758599 517783828 681919460 672163794 292903487 448371739 645289927 719157652 981160972 794342865 523328747 250149402 185885034 604486902 464668026 815572280 794495859 219045724 972467632 243213157 661518460 843104661 898462895 387447717 632033963 856325974 670006340 625190551 155390568 403046949 623790043 877559475 760939035 934991042 325463470 893958478 104616801 136343625 654824603 686622599 938723118 394424060 126718644 262269922 621871003 666970991 512225354 400298887 607119045 256375763 879104234 550529790 285782129 454206853 139255391 951188607 306424237 181844558 978378735 763298926 538478333 147143521 794469969 297989631 900759591 150063124 913271061 659362696 424594058 219951120 163803483 793488293 872776399 590949133 305351656 896746923 344157880 625085586 326876550 680637902 826924415 716945915 524082714 785978705 833374322 239462869 829649679 521617364 380249608 628105918 819227776 901753959 659767328 639413287 275735982 827098767 416111910 191120443 772674523 873588764 285556016 149069757 401508121 933999137 503352121 894443412 374741847 643976661 136927826 910446960 999306983 122207440 389094713 505348762 860575082 947247560 299385510 895626807 751797844 493326418 321451484 577189319 445627407 453791283 197313288 708559940 756053925 710605331 284621975 428866595 232561294 497208178 113561625 147973061 143429267 346865209 181921551 195178510 122986907 851458868 549989656 218749217 876932201 938267162 846156563 315698269 419934695 659806059 630408490 682154521 412280389 835338079 444752615 690420889 836259861 329484017 120022001 913394749 884389453 733258809 222469498 379447146 760095859 204635652 407198621 415743298 553380926 720477711 634891267 489734787 840072317 961820620 244312502 666380668 812616735 199681731 225241035 392338218 715956456 749874089 874371178 380317246 267233528 756420447 717757513 222982023 269400188 293982257 143809508 254675031 845826620 741635853 737077415 337729051 548315153 743214409 351850689 564019818 481996937 902627899 464810518 337984495 905586320 643249996 281947814 544537541 217519559 878686244 766413987 202392463 832235033 639197607 989157054 387946474 340739433 745142263 891543070 488415165 324639030 222873102 790569727 681558550 353262708 670641606 970614582 262306752 150472781 139372272 803992826 100310830 344899719 402591181 412517508 550495641 656007565 813148057 918059970 758741380 329217490 693352410 172149415 290238096 907297794 255623424 276890945 222262558 823210598 710850990 647569034 285575814 154588947 828223044 369470757 306895300 250468545 807393227 266580836 786749405 655667650 329788902 765124771 407627433 270797709 940758326 771067202 318350743 237917351 811578684 831181993 800051738 744347753 928944954 241829638 194247015 525892670 553864361 963089449 672079734 742861686 363961898 427066068 199192995 952858132 410107840 410032726 538496052 342941930 788251193 352468301 593338998 454908956 723360575 740453935 808767616 925020540 535970828 742495497 139332458 802828496 733882911 276464396 472140468 141786403 489698699 608775549 129177152 320421774 508598220 720155058 120316663 773056248 833728836 924443160 939264376 449440383 898102437 844527166 375019534 623853314 582107428 594002835 285158981 504778045 621952599 826447062 818508555 528146457 266043261 142031014 350496855 729752437 191685666 243472133 475324358 324630080 799595241 896878480 445176560 169540168 567430043 551110406 571486808 979341256 945401956 560113326 980675832 882895803 315253938 896863541 132657160 558779116 938569421 298285565 986198479 658990674 894707708 345452672 540741899 522930522 863262702 695946663 936883232 848744454 729209418 971073121 882486603 644477494 263102385 115367941 799283498 621721161 596695857 461562752 882273538 389940842 779085885 150217384 643783462 401599204 965691630 561158476 925850029 347325255 151466914 594400450 706828826 894829058 242612949 172788166 925770825 116615673 919801192 749701075 281463711 769983377 844046674 192370633 727316425 777537070 796595959 491383008 245452493 833390514 277064286 236504150 722769561 189709236 389159974 768658004 247551886 980488949 162545268 978977478 767984380 112067457 429921376 973408786 823804377 352114524 770906723 108592080 227111598 319942865 101067811 693608739 404597689 754334695 919297991 543079223 176023562 431155289 490202322 796937155 728186117 651781184 322974192 231204213 347762604 694930971 920873944 633822957 426567780 512599343 356642498 881051183 234355444 578027422 627349961 455338535 436023022 898698670 392327949 200604711 121560818 652609151 349219781 290009198 423221127 791554798 589710916 750271588 489965455 289179693 858624778 900894251 178696820 790297331 308083139 962005343 235843148 654961554 352276652 781887151 356636944 838629407 651607201 101746890 355452507 879088942 648966501 328452615 635564647 113726822 962015952 527288351 689303787 224540342 299591014 791249460 489852105 695291392 294774547 563917181 519870252 111176325 546800557 195107666 202779763 922160716 233552224 856881765 956483131 562705533 504576474 109344568 292000730 605901337 905115185 243293329 867479655 827758055 322671156 706145367 916255914 647270759 750491314 747772302 508746149 640622863 222563532 906289131 685251834 373600006 827759506 944526022 155644058 371656961 434607135 675489455 550985387 136846433 305822478 490049239 209869912 288831099 703851506 102118985 507610635 448328419 365226432 356503127 266581729 876212726 609206426 881336399 474877537 319416530 392074497 475633929 945961453 999352723 192323960 911371925 290281486 158347646 826042305 528813194 866337221 887115118 843999112 522029357 285535681 175991826 159533259 368201944 242832163 343024132 551874504 637008515 385092415 315482012 488739763 790248856 684878020 821740847 356047320 974027881 756160586 727291900 343971133 200127327 294789731 949895306 174101371 696849372 339781442 761456902 249238502 916516928 279798421 112613928 225961371 206230082 659835941 117650791 305451800 871257968 313487983 364011489 333566366 431752885 524098198 311194728 941470403 688109350 857508147 917013947 595912556 336097530 657923400 213509024 177329991 767374758 589269904 676838785 729355308 623972420 292948217 782976204 641985855 335336874 849805357 156101712 414941200 350169752 322997678 189416830 751490244 427804534 249433299 168371951 650591255 919313594 305762080 703123318 364653532 355698392 945960988 884864369 638638210 183408377 193444213 773918123 246743088 210557671 875835973 466493595 173543604 262852291 953087812 638984412 564782233 711828330 457751029 334666122 326969927 484336333 384978484 125136128 438192092 108171436 489504635 509637030 457903261 168471163 242035713 145904329 402763089 686304730 994606248 473825928 907295561 409464612 594319878 463656804 575921548 106948177 281934944 602160159 323949761 503032488 111205080 960044549 312577461 882083781 477873063 412433859 606407305 246225509 593563716 535768086 924869677 109115958 793120327 263057100 244636764 151969519 691095009 989990760 940068467 938735071 754472279 776042447 540479557 888805000 443745297 420450756 272938983 969040948 178983334 806367886 414811415 185690699 289063891 319834620 374704426 408747235 504552436 424727217 819756678 480814472 992195460 438557173 839839335 335727819 109961345 772358605 160138779 745358395 599265329 353932234 589671541 261052733 333919219 575120664 481230925 667872861 833252049 610198508 546453008 312475837 954815238 980711041 875792859 813484585 932377356 376617537 797662225 135510242 460082654 681837900 321813966 288006986 752762899 310140303 912302153 760878492 542438747 506592125 522023718 485421692 997499918 450310648 552948722 117168348 223619368 171349680 405214406 554037602 925081007 679265811 275304836 109463648 581322141 695006137 418397157 540391663 834840206 100392032 403959875 656830998 291045998 286948296 600258810 904079400 717507434 408685132 998518663 154421378 708717770 966179017 260058371 741578153 938998614 474321023 575637213 594754145 327825722 823695433 563520772 576196381 791821985 492382669 612297696 119578428 587250398 176351828 935395226 868457818 141833343 453798529 636248533 510037008 926858677 744588608 119295034 164672735 476004360 712248708 882667610 588007569 877743546 874262220 304812072 371932028 931740972 460352289 777807044 791124087 765291875 932857111 675266694 527298698 907879543 491172989 313085868 633467222 853759100 241302490 592243224 562451336 263565076 415439911 998296890 519054926 767561555 230509230 858482859 349385720 131128456 715402822 491852162 139050411 730685809 944769410 714065876 465580575 107925242 704594554 206494011 397087685 497885529 778955155 500942410 502915871 222861692 697449390 680286828 541625840 801212606 551977340 531194944 763987725 190043634 486022986 625112650 455491236 887354916 194656280 665242210 205231443 655455950 767143770 686821204 592886243 475761710 718331951 352223016 592528943 457981391 744505228 529617024 580175112 394278585 568532985 684612451 966174652 339427480 521443194 757069261 640501975 702114737 990873370 775539138 910113399 264682977 404645704 232780798 473499235 530176408 635350445 228187665 608329359 702973367 624124680 840920862 942432488 585342709 987708701 984520992 525417946 905868518 198515273 699025866 297484704 837227256 580032230 449394993 248720058 218872794 870481354 586812224 916817984 762142365 157685030 195628928 203239181 986832208 918883932 583202963 141766529 112786921 742596248 757172997 177224466 946174386 793248584 333193475 956222495 203366998 347700014 435485463 837111010 991935056 293167394 620834386 854947090 408595552 789837889 665651852 376589878 217890549 979724958 782632689 226509606 919084544 895269981 481021539 790942218 188135891 198423642 701361744 167114034 338999467 980325461 818642627 178393798 768641436 772834480 309476484 262239274 537878246 526707332 888623935 285990425 420674969 773729096 294030946 187975591 475678839 680146919 542161358 111788572 905801305 661933545 841301428 264676861 537871157 271720041 645289466 584746674 998631956 995010218 513693978 149368834 655846655 353390010 493544496 440391319 673148848 638648043 950265799 490337899 521519626 147161491 832813387 251527776 888156099 692172273 667991689 614495084 488670414 689450710 140428455 401047126 486187892 633897150 451552326 624042525 306757535 687775498 304295985 602318998 189739781 464289323 995201922 489138815 556164768 482494495 213884070 278659525 978174102 317641631 921023031 868046018 926204248 841535289 287606393 942088710 285208210 166633455 350922156 611008589 232859179 774283566 898054684 232943974 598955848 567026333 452566416 550154304 849030622 779753128 995378217 775833800 169074452 650470860 133438948 818148721 514657835 807144285 780724945 708571280 977054295 158437974 123738183 427784729 967800496 610116778 324006319 326196884 145807898 872147916 794435461 744248100 288112737 513961905 380654917 652538959 727695637 912958500 321324630 477711628 550637024 140201896 414158403 713097396 469178117 389241562 886035545 308217351 104377281 378053843 803397873 871344478 136875067 104343944 814662945 103018496 621905528 419546016 100287742 187633974 714588789 601212978 406300382 592230789 916331455 923485562 986199578 816116570 947109523 246837032 830365600 788522340 578401788 151054667 183327832 656689662 618273761 635866595 447816368 777255794 358398424 990739976 812119260 724674850 286720270 677729816 959004726 459913328 143700798 538079842 972257349 259458136 974269879 423123319 297412894 513516479 699221334 603643420 955843985 293099456 643471071 668480302 200635678 891267130 718547593 901529385 740234089 424230511 886734053 504434183 357173423 462467278 216146982 255421634 467730176 779065450 597533112 850388009 840872733 149295381 525566617 323336976 474440788 358524282 422128083 710507873 873587701 144580199 804891011 619788815 864374993 923446697 887664454 629736946 183584562 814236299 949968549 473231879 648304334 975209484 559835959 755346136 834089934 187286298 771501974 448465807 978621324 927994896 919589846 977513206 973403857 323937254 588642782 556737068 738507623 698169153 380327612 305177735 563978314 492376475 766989361 186447906 151520581 420393036 668087049 331824726 783469663 139073583 619557742 139505619 166779914 518678285 348928578 604715622 238841460 533375909 234247777 364434678 454187039 191657246 193006068 475371993 291709260 475069059 586186405 450273570 678288346 438655444 898004945 819472101 234523960 798339652 773434179 878292175 623664469 375519212 939628276 817007962 761583408 272556351 420863141 151260745 951347989 764256019 568394736 116441513 439489790 458719655 773870562 121788247 621400858 176123936 347603759 939458621 580376589 546533362 626908190 443722972 835363715 234359610 510822223 691691341 941183795 666626036 104938721 515849860 839035597 295140770 832134877 460876237 897993560 858207748 355142742 608405757 918394536 538684581 116694622 197710594 239562074 178958058 389595862 749057390 775991327 384609212 978116557 607792746 122225243 617793201 539969949 781947650 310578706 759778674 415511009 662207345 563963534 193234661 910820956 573823440 581881514 555078731 912209691 357464604 307836786 881825951 970861874 556944525 113062048 358167287 960216834 646126925 487807240 475764529 108818569 601814442 150492344 384696632 446057648 810097174 423153566 237114785 580845070 121444293 748036794 242346142 363174732 615322997 632608449 244603951 235563326 247396460 985264510 832741925 452518333 465412189 430977040 410637538 337468778 303047336 767366766 375569415 351551816 135076567 335721983 934367366 429599282 648818837 429042323 441359349 857580078 600450460 118631591 309957626 979316544 596755609 271574545 164854663 895804344 540311815 546634935 736754796 708617067 321769245 519606890 622362234 865669907 380262457 725790610 771662361 439248146 790366468 560845970 670133144 945540021 194982857 935662365 256232153 543154775 557167419 625849350 538443351 406055190 971961916 292689800 431807842 527484794 926292510 825839208 973834630 864439537 868970966 996439684 519745645 481376783 142395372 724349970 283377605 776655030 395370544 894502350 749779507 652550011 253642665 794599073 483886448 467146187 423906723 321631994 450463654 755774618 599396631 117089317 964769341 146102790 573599858 621641685 117278838 238557356 277920099 940205044 460643441 433110463 382027333 844926323 861399407 651864322 850768320 813975157 238191480 841977823 959454798 944396798 988600692 717511595 447173533 259622649 267166727 922824198 855183734 674442856 368897230 721825960 938704900 467419988 884086330 671747953 717833053 884209638 761938317 965978168 626730962 129140350 203171716 671763348 863368050 418767734 593775064 121906251 658111256 155783047 746168249 879831419 768526087 142247592 964475753 491702055 548442327 308196496 799482680 563009255 578915558 646317968 882053214 451298254 677419553 140922562 879287834 592828860 887742947 432689255 530797880 979593575 224139333 920168605 285714322 757547186 296730554 234223999 982998998 294653337 455650745 256509914 373474616 908634549 141291985 520473568 312978466 140018941 209848526 774169769 440519533 252395332 888273622 161308603 865004303 196266472 356591096 718376044 962699197 936038966 212190666 345337749 627450946 182027102 647490331 282054046 287971811 741750086 363747595 436453623 984976304 101112876 174688313 750997941 895369949 747737032 299818104 517994568 383884282 587983540 558030151 221040229 455207900 941667053 860656841 487990475 628761789 463163775 504909027 953842599 678031263 318580314 974409151 868921387 901966952 931065055 999799263 358244427 189374436 936714069 277445644 443982408 821080546 707805647 256961880 561270479 526889039 504803550 115839089 612753644 682028029 397642269 759212561 379716198 657418110 302198772 414509580 940984021 402213314 687178452 462257094 954811593 139760885 401533644 342225173 797791972 960739827 676511524 813994431 904296287 582144067 970804646 807077462 992221662 507498970 789795185 232193137 816224265 184843352 608294784 690693724 293594849 896292378 258091837 514977966 424835823 797422422 503168569 784620962 943612596 532963442 704192861 365060629 107762972 705991419 677883602 280957947 856346553 804927853 701978586 391815038 402389424 489990094 950888300 510794783 592685797 370834528 350688337 784896168 506398202 642142803 561523583 559373403 284621377 594345448 198987285 109861073 645956130 119861752 567213887 882074169 789133669 989751648 825252434 957121366 459037542 670537991 592139778 896738427 208749050 490002484 241161590 200266764 370834114 313268956 609514837 106600989 833117524 561150410 209659601 325789052 399458592 183938572 651075623 667325884 430270120 376066579 750045165 601260161 524221690 111771947 628517758 154420192 397915407 405555415 806126929 785379590 911406646 385810312 586897697 146376047 386756405 739750895 347968872 494695318 738251847 133784478 933745305 805849517 804508344 968397790 204075364 437645927 772459397 236853399 480762175 265640908 798713249 632606086 178988888 613152829 516274112 746555451 926071090 993676036 288383886 446735489 159762911 990546065 517662885 480088926 863170417 431454012 872275806 496485613 441091929 804727697 725164489 735886923 126229903 969824636 124485922 796678586 963975640 719167366 381584202 155248589 589701918 274235718 895649127 465308299 456810853 964788848 403478975 809499055 572273194 234105104 372604618 222711871 753009404 753362816 815594743 852489956 961829076 325949185 474791692 376134466 993063422 236389186 417448784 665153222 678227221 904081256 622493532 765924486 462093034 832034993 920395750 784203369 723082057 428614953 800654657 479274051 982997350 440345429 408032425 956117465 557362562 615647265 498513406 446246224 714763893 189442041 134774068 335607789 612666519 739404884 631021964 812691274 740424107 146876134 515728415 748759794 954742623 929397602 415882185 292771802 437935336 347060054 263211790 233061449 195606570 739602854 794871762 339513525 610456954 140128591 881624052 179933565 950214498 534404005 539639437 772587880 540485198 376499133 219087595 445490225 954996447 120490303 477661672 498933898 683949322 204410422 509177905 685085264 323733004 868327790 654756354 570530279 564803971 906785058 359786147 353059620 413033312 463687301 195081540 736967516 571094837 584731160 318888456 879684849 515214986 335538510 899452152 970171060 254219383 574427181 981994785 278030220 697608183 595735997 947585911 228120419 522876401 984246153 995920983 871493674 804813662 644072561 838399834 393074122 968117644 294517686 747662586 658169539 250370984 700735506 742232147 479163008 581436047 573168201 373609359 490350194 222674861 737394727 184362196 955930740 299494396 251005475 263938903 724438306 120338059 497530603 851833199 821188453 224109174 472061250 752904844 134647762 255025403 577546174 506241563 765832791 757129773 632887637 663954851 925234843 995071599 350065642 874294715 926764414 368127762 583204871 264760777 663875026 859567896 900336959 106488895 631497135 804898782 648792914 226386637 915683228 986352117 655184275 592907351 723883180 775849990 690886635 980358991 416406487 834640390 520273534 605057465 511452554 111476492 731646635 844082314 578758251 545008882 717025401 397692258 311770379 525513677 605431371 330317774 673033704 517436446 418771316 150902267 987866425 550915856 988427475 391763361 995325015 209214764 370597464 982438716 198278811 312612901 959131392 663882270 765777995 770043897 441042274 735368127 805601418 136156272 240481998 269227863 210443280 267217758 522145224 979183367 525217842 331896559 195541902 863565943 154647527 375588319 708913593 622958639 269136464 475037850 470022352 578580142 693048803 273712374 386815829 430802394 980371180 164549213 361425908 549923692 454287163 169517849 112679778 881787662 746952836 198853896 294438968 467451235 181734500 381877696 811269666 266515127 502428057 516352332 741737226 541676564 999075232 875106852 756242571 224405519 931434239 512233980 133349751 482079574 244793126 261080872 770732584 128724797 632817437 294903772 300312287 420689398 550829595 913286967 679677489 378449149 239532196 568619396 739292542 803686763 441879346 163691541 367365654 472896427 756453930 529626191 477091345 207759354 596086018 226008759 484716451 808504442 168668097 529911448 708937377 543111847 650736735 167451658 154855841 441208342 985152324 267193149 330333998 159907464 149105424 246416951 957411041 301370031 201060842 159427302 621061621 293299809 268451850 974339219 448571914 198099764 296653648 312947544 789970251 631634725 433312399 480151144 526635185 688332942 914471392 493619112 432508942 208577679 199733352 612079708 582027485 958116027 710112022 388420877 753917604 768822267 224997503 111876819 197010045 196647734 322794041 346347055 400212355 871604286 307823485 213834251 110521536 393906784 827258448 449521516 830163340 972858766 568489334 101536376 905475133 275983547 495495940 904663511 894501277 547599623 444297980 261548431 989829866 962106857 382079901 923174033 350402265 583112095 788442520 574082237 894294243 329010585 706204527 161430194 976051863 874368820 868114327 386726528 281521718 396478068 129891564 784873540 286827715 547730769 613158344 202787576 767346460 333881936 230224313 691801803 199449815 944162098 608042171 253167967 163091900 412171196 696848017 139969815 901768324 160588621 598169829 517831952 986840392 120527744 561557611 233941248 114450300 280269368 175488248 756113846 656259478 873946025 952098008 810537965 891066797 790738822 432447879 249956221 104161518 665937043 591979321 179502940 124468048 971397001 221124898 965676972 828333751 937178627 917996585 131111077 972819620 576459160 472485175 839277194 471781275 374722814 919403748 462561280 174989102 643723332 606262697 695572271 741888202 244412784 215376464 441763294 875645141 147933431 298509121 859839030 545933648 398329228 461993022 254028165 644130291 349344193 407108102 946847901 751217904 700008689 479279163 161410586 270284299 929577577 445096919 965437838 816069363 796632835 681858417 285887084 581322404 734587643 989323988 122211126 737361471 986412772 132425422 482173022 278769611 465914347 942247452 842015378 514967529 146599906 974563568 280539376 271852152 727024329 254085407 652512646 731819574 245732317 331351531 467089993 889248076 298924771 946806577 785084067 331259629 592584070 560460794 739087718 935505348 465987606 683603509 414854294 183072417 267702253 208241000 298815847 662716809 687105544 729266779 342284284 394097506 828259992 100769361 902130394 511937699 446335112 347280947 196155379 482296343 992906970 837123310 148695404 446265762 512352447 262160768 265121191 936101153 992529204 689470149 417092797 134475610 542124184 904930342 659161466 120361489 204569096 699526111 264694828 863734341 953490767 996053982 355231811 641342508 115086169 311855372 445667343 717260610 449736569 306429014 193042966 579896054 744528246 440718012 219597210 726997094 123543820 713419949 702427871 989434248 707560597 107915833 431598428 793344057 882649517 117779857 945229717 663287491 696857581 188723381 995834113 588159730 131358535 738366344 127334321 440768052 227599356 458263989 898410906 540108782 353109654 545537280 864074534 997708048 414626046 997227906 850856760 188296287 460177662 439718877 696049619 778394496 982892633 138767784 113790936 459498589 716217475 672640645 163490742 835249996 289556351 223642881 703147282 629370920 118114176 533044103 279663353 639927025 967956373 572179938 743227222 957291550 489396713 950977010 269397571 492972073 713980580 342023464 462365533 186066421 158349151 542253577 641676381 396676319 304975828 118658570 392309363 230135851 423410627 445435176 414755527 593841995 840397169 770915322 542601355 601988153 913521762 264004523 280720565 314716743 939143057 179135071 765855284 175340507 729231645 842349347 425875733 681644012 929046467 260143155 807247268 580857182 830039021 510360202 636409972 839249622 666545446 901114374 792837844 586845319 438831686 214045333 708766609 176434659 815568754 537068335 943545605 449385798 804483943 653393639 223399342 144049547 126812609 481525518 164604901 691571927 471776106 454882000 486825039 674753679 508117636 241607831 248248397 416118391 616562181 498100804 770487141 187656915 719379382 248670394 317270654 547643731 199135240 662055221 296374433 622275468 511195433 431640825 258426669 740387075 647873838 128191391 136224680 197495726 966150779 271042194 111027663 558200188 582825476 163864016 309082527 547488944 128561987 447679168 265025526 755895362 800228180 941003017 582822985 530719234 332412714 828691439 733167127 660948108 255910850 650970218 119242430 844062241 622263424 828171519 454264395 444201946 428150473 830506303 440111892 589097039 674013854 610985399 781325128 109373784 271749498 610058646 534643818 388794929 472893451 392163328 691377274 694580729 868204644 146264051 602434363 755969037 835255899 879597544 587464042 321079170 891894513 788004599 296280100 786095956 291263876 551750628 745788919 916607536 221262389 626819972 580563058 787518156 677111571 790159551 122501384 964347876 870209316 811695017 531841991 283278066 250739694 602287287 448144175 520122746 295937704 874566194 377517714 692110972 226608963 612820342 337394771 385119714 197142896 292442145 298960516 299684931 517452884 390030709 784538824 652100158 336339231 420936766 519726749 817432754 591817171 431975347 269399357 632111261 398306453 775231773 169951584 894033399 190738541 235580856 178062849 576105057 797818680 777199192 647894446 936886297 445697777 820914377 318835234 102789920 509959458 741292089 146993116 790882821 708526384 663679352 262905040 299069428 856710005 280327301 563112876 355025725 994136503 499497312 160454213 712181243 554091516 488697801 729345498 355861247 511352874 949715364 382972374 302922800 866413187 713930441 217204437 478577087 796612089 782644815 740414691 697251037 433779237 527961985 964336090 864493991 679088517 788542852 809087437 606568186 191310685 296750192 569128223 782460876 244185716 974277641 398167317 654662468 367369556 727772570 676924718 564706610 348821729 542271028 630750386 848610072 764592043 192405567 916711038 843275258 177102440 805125158 975123881 852341346 268855280 295093720 864354856 154712537 376337261 954684415 537258821 685229876 657964990 883502342 152905947 872491984 740613342 931180069 306700698 878894425 650050165 422061949 935187824 198317557 564029893 817444289 345601070 292639713 293099910 273675000 335708376 513255414 555246147 110774982 751671296 747636569 973612094 741285285 471331727 268401424 435893438 146285310 526220846 252835912 425452807 746931844 609037880 926729317 528400477 115312351 372569569 587767013 843717579 153768160 140561737 104581576 839060186 375792865 733642191 632690301 369067965 277468659 554681219 958796358 974183735 944533459 558534429 600319396 558448077 471025753 504898157 189365408 541989070 502032140 342026786 628183828 832845653 884414501 180901289 144703665 474993084 869554908 522816523 130182526 168079409 960818574 856662540 581473398 842177362 993009360 584361562 540643033 250943185 153596633 637728799 559208957 964839604 939483694 259376515 327027457 757880626 415689462 797614757 802979236 155378328 981559554 277955165 880584281 264149034 586511868 253921176 569443765 826572532 911842700 807168277 724610912 450684106 705267342 957861824 634746194 943031342 561994248 983483642 707463033 602728625 646136477 135079524 778472130 262724732 928372732 896648892 143460324 258851299 566094670 489917851 182707415 292930495 243690162 891028100 832592065 338167889 764417797 765984426 619410004 425275291 188683143 463389938 597590763 717632207 698932725 197181075 471497637 465198004 666147885 286884769 889480218 221567721 397407821 181373250 697528696 732202665 599896712 152751011 894030384 577177390 865956509 933704439 200737357 941545850 282608940 697793612 947863427 209138220 112957868 731724076 889503703 651845250 985011928 238600349 991360732 466309990 845432615 241010835 257789037 419611892 545503978 506672202 233965492 769410637 235045020 565602048 485238044 194981641 729625467 207135865 491803567 200927788 531625706 141158645 605159965 751743686 968119665 539937162 433959131 342597472 185331172 683578621 395344436 850685257 831967649 365517498 546551835 511909409 702253381 218775608 714212249 621850618 820797560 702996623 587006685 494839624 476321166 793714616 161693966 305533402 708746455 695945468 179549034 801754120 456809516 682954574 619811119 325588934 490781665 637801443 642922228 326530474 648699347 428550722 185924113 849956293 202375741 871330758 562146803 212112850 468528669 265440248 929317497 498780000 890243615 640239695 935707387 427128721 651275421 384169497 430395556 352420926 830421216 959400263 535177174 103879032 856370920 931224321 960610871 154471493 614886702 463408301 811687755 908458050 356273324 363376731 739835412 133170582 814692961 420995530 732429113 645011881 507572808 330841133 149698686 391566074 806686652 602887050 692478737 203828061 121032090 618096384 247046639 270570210 731726069 362276008 186669187 742722572 484945121 224810058 956262002 339983617 848033037 129556892 678207525 118549732 442437820 212257634 410122956 904657196 803677172 826132923 449581691 909354694 880779710 502034294 610520201 272735046 987898071 732311238 136412541 367578081 100479063 820953763 765622244 462379440 345505838 967282451 192279481 415239530 320274183 928155908 970824477 435152563 261251024 347398078 409793565 939762645 203700931 679635223 109997442 196788391 402200145 366990991 394892682 964858212 845718968 324271391 643454859 492578316 666660828 886836029 204606613 206136934 233570699 438203170 533534129 803755510 920981161 727998978 142744811 178879552 257485707 539576202 365922860 745214579 254548050 886062564 839822628 761499854 414775183 130185555 187156837 800188824 804983276 469945612 661557036 540242756 576516025 674123821 729242904 292803750 570044825 404508634 793204164 374707642 262225864 821273308 256725025 839610750 508929814 179729109 110464703 741083088 728382666 222229298 294981252 745962202 634494266 876355396 358472981 395492528 937068361 637288652 155243774 948453366 455415661 723281322 769044977 217735464 648751503 982360058 913794015 382311227 738469599 157305570 259133958 475500947 689088226 950529529 573500774 737294169 212939168 204894917 176048404 196224970 431023095 869746491 203037347 878282973 848745545 621160079 336985824 842278231 811879198 862672557 231735232 548006916 430246373 964353339 954981103 960033239 972561809 593551017 491014617 957079175 947995898 601184439 185571348 670822768 933703844 797554311 284700373 221147301 131571325 784732914 724890032 993776981 955622036 870156591 972551640 638266713 516710820 556116889 997921843 120978634 321969816 573861058 370602487 718630910 172522643 819805715 794894961 380533754 200146479 866062055 703362870 293039097 589852934 544562193 874716080 664915243 891451315 284969720 964381101 860438165 279347260 375579621 263201212 938021616 186213161 326946695 376679921 367060927 389310646 578256466 514985310 501751421 915406561 867632224 849702156 930257201 425506157 210962832 330531669 744685981 392895192 489395806 977003912 875578634 703621101 301121433 848554336 361612337 950084441 676635942 982300826 326048799 674278402 258189765 298285550 252007665 510626863 764074160 290579762 216540769 200501607 730639112 573564628 936294227 621012330 942099690 160519453 231527781 536141217 210670211 890051382 587893251 591665289 729927449 738288704 340886444 437354625 530747444 326089536 673345272 933214839 633544106 178027494 774479582 785216869 839634289 843779613 741209294 133419864 302836055 548612649 428749628 386800635 894656354 269031901 967788020 638081521 995733883 461433342 847430072 649812436 169642561 865464446 257574335 369259563 177340740 346531592 310138574 432293931 674105019 660159065 241191493 562597886 519185002 843231829 990264367 494949747 530159767 789789919 472130856 609536942 220761040 443584193 177508618 540710780 564532767 947878879 144024730 793296585 297165114 880180229 990003998 898365371 779539859 884083160 296563796 493670220 757789338 326036165 103302108 141524064 752166132 713185160 813611790 860904767 111627420 873665130 350947028 992915761 940779952 381390997 499633945 183130317 394729755 856028213 828075731 684502260 520222941 731252129 501738196 768847909 959767497 736196628 770349164 918448371 516691714 107989132 737877827 127851890 653168439 611692751 824097525 615512778 430955576 302433054 991734856 784538395 779793692 221183664 178359460 251873146 188053243 861697466 124962484 739074026 663796333 634518666 781886670 266277582 969062017 149055420 968086979 112055147 692434269 946913015 775206047 157762685 532337845 698174141 119136579 237156905 811621084 954915520 447813073 118768107 973406586 330816882 350733773 558979399 306429163 640765813 952921637 138790938 123871336 759601784 622244053 534095571 462969612 919095297 403640070 233026361 761579354 154245207 846564699 658005498 973435478 171429877 618121767 425224586 397555005 711629799 514936656 129818873 374120689 991847984 798956227 189010358 954183644 232983541 768011595 742624026 351557803 668426244 564470710 409369488 532826302 996791649 583794532 493934071 540668213 489001629 541224194 355684131 128942083 236353283 687837713 514460381 765138616 174172215 718309472 878187703 636037312 304270192 149694042 338775518 785803082 750026336 333209634 108185899 923028556 590948421 261676797 467889064 596408244 254714319 690129559 531751680 274442334 556559468 197772240 423991680 791398681 688865137 647796868 232832309 139479334 236131666 140399054 475908202 670390496 340647533 204618372 810588620 749341239 647802980 456759531 391245438 383767259 162705060 689093294 797971175 537535399 430578403 369504851 807427430 976224235 434464210 364540489 787977514 436351521 899682614 784143401 400256470 185554168 860134547 905542330 123544238 341884729 298333345 534979709 265454842 653473154 354297108 916802157 203737702 392682127 404733965 714945302 131261512 899068238 246050240 739374860 514093315 803988069 371353492 398582153 741222361 279999375 266528574 228640592 698897890 647432401 552637501 723112255 897806489 291677769 395178069 873363603 328953457 615981671 727721904 304180576 268281022 965086915 782783960 668401624 943934704 727620913 314216222 386683787 768667928 155032125 251071819 161660091 682921538 419374927 183314377 684962487 543660073 122069342 204254899 840606007 334492044 848461550 211036739 378742918 822443209 123260678 560933485 361792157 773193271 588761443 855470495 137036895 787805193 932661149 116860645 325980911 707385487 863457404 688388063 320805185 250500774 812265155 540090678 412311671 267071409 486336570 987178576 470475352 976236389 669764681 452318160 677332053 221781846 502874448 348422932 828115728 263156570 468792753 650728171 736488971 150040832 427034181 856012859 328497062 933120287 986539898 858236619 997523070 176991911 279271859 243588597 207795308 714291550 735569948 269216542 249744436 925679890 742360536 747764151 192129784 507203325 882429090 875557474 897705427 252394723 366314004 348799024 552375162 585076149 671134612 868770591 223799331 734501852 636367999 176212485 256495565 302598349 163811363 877374300 524109388 856361738 187727304 894694850 598873778 573720155 302101567 787700418 255639419 139675864 530914604 841531915 607769869 740330413 756448541 359262072 386346856 545909810 878363655 516901995 951990623 672220183 446677051 872631135 108395466 589919252 454565686 142973941 548431296 800797304 634144135 106838035 424500495 895937698 274686396 453486042 706518813 874296079 388486678 932478763 142315226 830590961 776761602 905019540 761140747 215146684 489981484 422314435 469964906 157071470 669702530 614286013 956732630 476632261 995358287 660111297 533449239 602820055 707964479 926438437 264475748 229475975 542775282 237073651 517083991 344137718 140405736 368624493 419715285 826683458 623547740 497257609 570111934 536982892 985432220 912521242 973795066 984926011 125987117 825148321 828147854 426692349 799581824 258704993 543311284 993704290 805828312 884560119 971908673 473346520 220737116 623634164 293144512 544735097 661859525 907002892 972520124 834801716 233393797 610501160 937053438 771245124 996279240 139023515 117155814 265820212 789823472 927176912 332568006 749503024 842468544 663487299 714023976 232681373 342023401 683081097 894953320 979914366 746161032 390967384 314227544 607840516 422067083 530534724 812096958 103142217 117632966 922311488 338067092 942161968 804048328 169752314 955987669 809089468 970687900 209620536 993988724 237883682 474485649 406193032 571867220 112301896 752584333 505772805 177773865 498684282 727602645 385663270 321318759 247931180 858504311 363477169 739292512 110477208 161585443 336977442 979401255 817670151 998324618 477065578 923975793 384213761 461300147 709907982 246645818 290674965 371637220 125408190 689371838 378686457 623368475 784505743 102235242 217458741 861519458 421028561 397428197 674204812 832302086 854869852 110390230 663395331 113737416 544005229 620803643 664958298 400245397 352601691 560307651 869319154 861161864 860731804 224262313 653625287 544901483 781832461 715475511 184364192 685315798 617389878 200739395 904209184 954200910 529225770 377469244 785893828 656880842 721670742 335707644 125769418 506573804 662884756 119296433 797384371 139870132 715430398 460872238 278096808 981667292 482362605 892901057 264257935 739932588 999575160 331819026 393190223 721605200 898404968 593425339 242996159 541251718 781565740 107543672 486207754 215461324 318995030 559659597 211723418 168322805 984438330 184716209 719426148 783121344 437373847 480835026 325571807 222022015 943474159 167407663 589428383 735733622 745535332 523360349 436106654 666263037 143897653 909963070 395016858 818294535 425375997 476329019 824014596 901512896 700721553 914151818 374003088 672708413 532180614 515779636 540594508 130401388 885416054 303099205 104498963 612197377 405480272 431149063 189931843 288603610 925012489 916431528 864020098 534010194 175189735 736409430 534099898 700863590 215671427 352492413 799564821 161976808 509927861 636348759 270689522 996978200 831634570 445599854 815220740 778386968 521226110 169106003 302151348 417762489 911725050 444014435 737174011 693822922 607803356 880572031 506062431 754688727 937266324 960763837 376092485 849249303 320993457 302920139 171112955 948249393 388367025 513393279 847162143 354377382 377289997 453020231 211765298 627428932 219075185 888211329 818668075 690732730 721325833 244278766 324424870 799510159 702681580 841137364 482904881 746357757 802060203 397489813 372983536 465556302 652840669 251349264 261117790 226258418 236620348 821254453 685835529 734428191 871439491 229666396 171659882 127004069 167086730 830177540 218244880 169103602 991553671 225685034 420817151 780807980 622121113 714891607 563167858 485984681 226984963 805610323 749615405 330233604 957283160 711382819 780011304 782325200 252483546 268352333 880136881 492933014 721712132 452047464 510202605 329408197 613418818 554165775 922855999 647239392 680351726 899833803 253437022 124811723 128448071 178089649 618036751 522313195 957346764 865928261 549195142 161098675 390226719 522938822 483969133 250650438 928864553 450944684 998004872 994850927 554020672 361888288 787681864 829645350 148068607 272369513 702098147 129569229 395258912 475293604 758947418 433770057 877093982 286778177 301024175 409356892 932067293 561635102 171857027 944742749 350538100 349139929 556877378 550349080 450383954 699541606 962309618 480107113 876715140 887834958 681180401 232972864 794945581 221900048 155382433 301134375 884510340 577935242 579036908 202202769 709090218 707199679 456233462 453816367 680672931 387642302 512831498 912470527 729281731 966072139 592354352 682109173 289229873 699361618 777093674 401623606 410257805 871613748 181071455 480502273 770953989 450737331 329641536 815842509 476801833 603342062 824064129 224369977 621965793 804691773 549765056 588839664 264289130 587820935 471676442 500955044 604457618 713465125 333763409 597853172 975029792 268298971 697672693 643574665 865979992 877069612 108511226 706016986 912010266 312617587 454754126 689987127 139536952 200134298 650582358 884826064 353631575 403467648 124600166 256296203 482787000 925268830 520400753 777331409 378673713 513970987 519277480 872944036 518971987 286512497 197621491 225675010 127537793 800044823 539294147 829601417 493655843 578140582 701167424 750996705 919886618 264931688 272960810 394290375 523170565 687731822 577702176 135833192 435647182 686187129 891227924 142246281 331464807 804593323 517072440 185773255 945414514 313866721 765211042 204278400 812303122 554547114 152489932 727279360 813843010 170438921 403401377 973866765 474376076 869796961 841891050 919187059 681479514 374506176 635225207 525260426 718257206 115686975 806895532 684793547 648586630 152044271 701428545 499102026 847989349 282443893 195989052 797355672 914891098 362014937 858834321 921030268 346732227 524179110 890956669 161809071 305839295 966267990 410957174 391233792 406632869 637972688 157173821 528338117 493773896 545397035 159203162 952249093 743076979 397235171 691983346 613881088 861068785 556339152 321440525 380708341 933083690 364743358 908717656 745113181 119439829 821515264 656538119 877711196 443203340 214195118 731407007 271882258 298520574 357069421 540400280 461130706 383326890 357761321 694384610 349891217 162410228 969738146 998023677 177998785 403241387 597688324 966829326 984662680 793549631 520191991 645690420 782742854 363711656 128522279 704843276 932403931 177619441 795378308 261995931 787774315 760462836 460990806 565244251 519262140 193060023 873257092 140445396 734434047 245386509 307831006 642017297 299347072 446872344 290062804 572164178 588938818 686868911 926084054 919415749 978186632 331682498 474655287 386497750 418267896 794481330 219069840 406208878 442095836 162773288 774687011 247736626 486743299 982183161 743283063 184680258 734773821 929687124 314767342 107933522 464143291 220513317 998610074 522172973 734251535 205378788 708696038 903479045 123531369 224279740 247467499 499964809 477862980 667094558 770575097 232156641 212085823 895300236 189400144 980482019 842674264 348382311 873990949 341136808 938277193 109720563 176274573 617235630 803198162 319990861 762135552 482357858 868449582 633785150 109587353 469343565 268624189 495879350 102027224 772210999 745453140 238980040 226868461 361309968 291699390 328976530 925457683 107924374 948749776 888833522 477621659 607984428 243171440 806097312 993363250 236654307 271409610 927483980 210753564 887179830 850318878 270080765 875802950 662019591 416842191 337439258 389202882 440746674 743402882 551968384 959372425 156878048 372405878 444963325 542032105 904202489 182476667 301973827 212374231 570157717 485946760 529246540 679354282 479418625 793892027 296458355 801943287 997744396 279203170 901174359 126532140 950058810 554281995 602475293 274619244 421538634 823024096 507579763 236716368 802796940 360276916 156340118 721684319 299448948 698522061 108109547 846701210 946399131 279569839 415136901 522751355 524285280 330049639 106335425 589420929 541641462 563374723 404434198 385244868 433415430 976568415 833814373 920278062 301053532 264740572 345136965 341384701 522150992 891106177 124736807 148217990 181774608 535830902 827593114 655616061 900185674 485945606 718350356 889582147 648187259 306369149 696243917 434319251 374752544 532401238 302514827 606084873 899697205 644976277 564743906 292644241 140855619 788780777 521725213 538488513 893583733 759957422 360671661 254855841 338082350 154642895 907704329 545415267 868149539 153607424 576209763 785297151 364267430 831052028 549865627 938091685 604734721 868040664 732456201 541705099 596075819 421850147 797774210 150986481 375411010 606668694 196193725 531562054 866064823 762802560 422999405 891311149 879065259 870256303 114506681 849921074 439780537 288700594 551936183 797960212 206408370 684923287 156481192 693561683 312180153 457231715 960413125 844995033 950658392 484805700 539389638 134895527 313055572 745226141 350349226 968796736 633006168 811618303 597905519 154908258 650787792 556625626 957668920 272697929 662743642 337779675 766860229 143747967 694299848 203149912 532738771 454613881 981902724 599046500 231027651 951346535 455711042 514759650 992989248 624480586 889603866 720411995 777578811 480605992 247769925 619280579 153108176 364530285 233867417 785359286 389512068 916105462 735408487 618396278 588521590 928106066 387265920 138836819 811449456 188271148 124096197 455559804 925437689 969403684 604441098 422794292 575051347 129810753 327365825 894912082 978988848 374606654 953070731 206073944 916865090 778611560 432738744 153686017 991060689 229565071 722999593 125581096 413144449 304582731 329046013 350145510 927504498 872750491 999682691 933147287 923268632 242459667 716750627 344839354 648482624 139023195 241356674 598382154 249342867 448662030 375391065 822148516 132178240 994463601 432746778 593757923 249407452 598548139 476568067 138654465 848896987 787540902 522949543 903804711 471349145 334548005 480772787 627247617 423573945 551894413 626157069 946653579 530247962 751869812 956600060 859011364 205745688 378213489 908786937 589141964 694119196 834495673 299327201 902254782 213073256 374046636 366398177 458789124 834289139 625828444 926238733 622193723 141332177 131547550 417510252 213852329 408118864 242875250 739196162 491243631 828288787 704091401 177371687 209972946 702917440 988814856 903062000 719253304 877298379 979195141 578375378 500939507 144669480 801218694 143927785 520760296 877168979 213795644 496192956 762099232 238446531 425508130 772385731 955086283 854394581 674329816 640260662 946081892 189072170 935991188 814714239 550649000 646530083 649770816 319684838 339209222 277595312 287726556 921915890 155212132 889151646 544886533 458136306 445630078 827471253 242891519 524198214 721349438 107918980 543461668 752689813 505914868 560319253 397540944 410384271 505752314 754813458 552524848 925319017 307140422 195304233 836232803 869842137 199389453 364487788 951725389 121248035 632940388 239439829 590707022 350807872 951700276 456083449 217690719 801434740 885361359 788656124 621562456 733310025 215447299 711085175 913029870 332888169 194802703 973156729 767010959 909951284 381168091 137542607 362872145 376854915 854663112 336040906 871373433 843761660 768384665 874391136 196008919 358840014 959265677 838703645 114289010 589444752 821355415 738137436 129713204 923529065 251460868 381961943 958906850 538169613 458352867 667121645 777083294 595861792 982118215 264492639 259114290 193707298 423975822 607606865 942489898 919493263 451152555 349899869 647346366 268636837 312962140 148238592 735324871 701590935 146557871 264446383 598917445 978672359 527275994 485351850 212620541 628780408 370886202 872062391 973662404 441966084 922393251 785989061 814719524 693136782 707367143 987238718 474320642 997438758 267805311 593122972 599226552 854629547 357967278 138124432 733087628 594989324 690806975 393550224 731940599 213509905 498428470 973232137 577987904 265478534 911489693 453270310 593978211 928719823 888620667 741447405 572542107 932067915 526138474 255608870 368270662 929822466 121320871 423219670 340846505 423146953 343346142 764752723 674084511 243407733 545009653 918926282 765833519 910668953 624561610 387939050 797245786 423313619 230600083 725612225 253694231 421230099 124999325 430571745 514043284 982454427 465828621 210851754 977953534 166631278 954850928 764203269 527542132 333349698 525755560 772949256 642144638 756571497 668172069 649926390 930960625 217669099 609151740 682751477 176673954 694945494 727824478 212354882 438873663 234264780 128932414 621756759 799816100 281440232 577108388 360340108 233370283 562029814 889808011 589528489 688643456 278682227 571847519 280846998 769258898 964247238 666747251 770794347 196918491 887764810 253162597 601043565 941855753 443525528 274207189 850929677 455516282 998697442 175160149 186481412 147554670 516509258 681189894 284156990 953390974 966383128 548090632 761558541 101931776 195114389 236944184 710748201 607866043 461145628 532015059 585971382 268468653 741442394 123258193 586717781 282305216 676287656 388497224 402385685 638631780 604489780 422177010 730213896 503803012 629525743 618381968 764373404 668298153 371171238 346335627 932692830 600125352 131276186 319487845 283329856 799298177 604848837 902388996 929467198 984999700 741135358 958669684 287217141 637638646 682507430 639213723 363950940 223229274 600777325 317503084 550759977 785877568 876594094 769161002 378740637 301753824 597063027 813124548 847345254 736846877 191668406 414638553 557718664 110258050 778031817 250347910 425168144 507965322 546672014 993238299 866268162 376289202 186638600 954694554 944079990 255435184 435517444 923257067 280402875 353192087 204838056 888523297 581340258 805501569 259990818 433833331 541541879 757253151 427934188 875460135 520695592 798153955 418944238 489687836 676103106 843276547 471313733 230407932 817208524 669081291 615596492 898544789 478285390 750407855 696729891 275192295 791927520 954667648 594160652 640215150 434803241 424105882 792729329 272955922 281638480 429816355 911808497 861026025 292167385 245550958 404830346 914706374 293760230 746667515 428296119 467904622 178325547 179196451 456047696 517550530 999788184 685244002 378450629 163467724 314036599 611969811 838102267 487846723 639901856 840653178 395470386 987968054 559264232 931504981 356228509 255904078 943756263 640879952 868889631 829363151 335999592 597308927 489256652 303938240 297854988 539425513 783881414 243064952 859002962 674430665 449139992 827839939 954055284 265336884 174497384 956630741 307610343 721087287 228669209 856366929 248018143 874854206 870136901 814804599 279811078 118521212 942401090 713881169 524853372 799143058 577515419 355816545 860738781 512311971 511382233 153506363 196858630 475499008 993348476 556341497 384843524 380625740 324791071 157431285 801331432 844802291 789562079 750030519 370251309 977724283 313631240 684647809 259193101 144019135 189939713 442511397 502677378 773553976 566190932 344619604 400125488 626604854 772705879 161875764 122341641 583569101 691585439 279270771 300702707 209436371 419326528 893416079 162026394 600979943 495322887 496667172 429037272 304487896 194257855 379460526 473756086 420674070 371586368 385043972 930223403 679497716 675796896 880597085 406134906 431967456 656435646 405240594 120617657 928902993 348278308 456448447 966413261 366456797 809823544 688839654 956128430 755520707 381728740 214041173 989084647 690428673 807006842 689593589 897842190 547105636 177402878 926321049 748293725 840629265 174296008 836525328 328513209 987599954 737033355 598982227 164018759 450498504 361844746 701352303 128972247 543490357 865240597 932575923 771506333 832666727 318215654 368454042 901685366 358197877 682062042 939436411 281546199 957328959 170491977 434061441 246633340 933177079 135021769 709064908 743193495 210181291 426123034 455229182 683255448 699556631 160402351 596480285 226388688 972477712 453300035 846176204 474603050 524217889 971450538 263951802 313152502 176202093 373980885 416898636 576340960 200640392 291358305 529522143 617129020 509764990 743812990 958341442 488774211 626847216 637888703 309198805 181848754 564693351 745929374 594878346 186366327 670856244 205638797 123886664 167768882 120888221 780510247 303901967 981771172 934456335 628937418 124899765 364522221 306761303 971802700 370369959 583718922 606474762 463216183 795130088 363136568 318074002 760540229 395613199 648195120 682982657 989883701 418537724 955455475 205933788 423513555 500333751 316978542 982358331 593278219 555214196 282181202 531012867 581721827 962709378 125600529 449853679 599534931 395755017 322849443 493440447 733750905 941392466 214703801 449969398 878394141 470176748 570400690 276698832 320098611 981536669 999366761 746488473 267617664 902812924 502253921 599249740 219737775 732350374 642348360 255177424 954466776 151770090 469789899 407815130 758226218 535583364 114902475 846074782 544284699 205350589 508190126 281701120 687766090 641785333 347734065 394193481 981436441 939797918 800327673 467816868 503574010 707407852 556472309 585526498 764893101 922937071 894754582 441145819 823414335 449469365 618288349 969549537 964523502 398988184 522972499 476062092 961185284 221269647 728279016 459673125 370287419 372076650 981682864 261887046 626936480 189004635 352002075 493794482 954359364 770636408 839797692 244149158 666310361 362675224 813829863 218750237 531880264 421120745 303432823 302201032 875770528 179270922 959905644 482093795 973722554 353030083 934297914 216748830 520395327 370587042 593017795 232060599 495980494 614169704 726831587 111804333 343037397 172924612 932315303 438638621 571506671 879310279 624702681 937955811 981634114 145079242 618763857 543839856 136300025 118077107 111872877 524117480 159532181 124326889 957105368 450537358 809932964 936906845 911313675 136625968 425254085 501639834 515813209 330422354 533667027 334586381 739149323 582237586 479250879 416813406 757531915 427495203 384825767 425470762 515265723 994997907 688883192 607098424 753868567 888797566 700599165 138296999 525828942 759882764 641241188 245797237 994552917 600101580 322121333 134375351 977113655 492180974 122979085 775092435 906650992 542462560 197055975 383997409 591140218 712842089 372567995 203026938 206525054 700785940 779925718 332598422 301448932 644374295 769705379 155951372 263759427 348646669 682161006 629762128 970893350 116561950 302978393 260142973 860243317 867254700 528358021 243797476 334349324 692537939 258487250 583769322 226107351 612866280 110157244 680164122 819565616 838140153 556907618 458045118 576138188 297269796 229156311 438421732 880551035 881707535 477059510 965540128 850954750 181993896 343054645 108148450 197727521 174979746 206336493 595558230 879359074 445617764 415505361 752731344 461590487 557143310 971787531 900765299 801545826 522498215 517100035 451151008 457951628 585660149 405169337 761066749 417433371 145328083 213163352 633565875 632346942 299445243 340607047 986966507 825412909 635384841 812769781 367676492 890144957 351440741 644301194 544491860 856588596 263743723 481464906 534330354 493160894 978753399 182051818 660604034 129848275 675263721 434842419 808958945 131166121 259801172 929597707 852729377 634684244 333921708 781378112 599151380 687068809 776281314 423254496 243376469 504720536 567407517 895195750 654407920 706396869 961602892 967340112 950347834 403049972 266701208 848761215 256060342 332974794 841961510 892417976 532439810 266447342 587023567 466121031 577290215 930942472 535665594 354857148 316539802 789526692 676811366 331310101 745093535 578413915 603150786 257090630 956400319 278001593 497008786 977476459 621187682 474911567 398121614 705714432 461486740 217668506 571444597 242843778 670339662 470427229 643922933 965098393 895080286 542429334 904552568 520761836 677525358 417490106 338716747 357554795 416687117 996820480 365662141 394926299 162771708 180503751 823427036 443044594 914630961 923105059 805565721 487765403 663433427 864196952 878599421 621933909 478490233 524614810 107587737 316185120 222430616 598060737 436942547 442106869 373756721 665910294 450362523 536317557 402231454 829044666 467704663 136560877 420183775 562925814 816787895 478507982 686590946 788056295 753157716 810407272 664763079 609672595 770453304 173435455 651569123 398361331 170525241 915692203 529019604 980671598 372047782 742783917 255074599 805046622 186806453 287416408 153883888 424489653 914496450 983930914 213582074 844796269 378907571 937084045 122235531 743160043 421600840 603286678 658717565 618044067 938638257 269194164 282449090 541140387 730262811 762386691 436169334 584376568 248940074 471638572 265856208 797124766 468715846 938056111 515557809 597506681 330817109 495242989 812770157 361390696 938033807 115759611 914487884 873483111 759456785 899658352 427671949 530473356 653022199 879704238 392918940 405790272 392948489 553842401 444033710 703173245 923474283 750872699 700972569 756315242 415141044 938323947 346066512 884360002 109121451 207217926 383231732 634633826 312540810 295449879 340787792 533722899 442590859 700586940 367973151 308532502 729054009 983769694 740361145 573370056 606215763 490033964 264490074 898462792 600067716 989846015 873349430 454513621 561739473 890797681 937380409 749110735 501642277 196130884 118151374 614464422 236278824 739564551 498710547 751014662 827022889 278454059 122683896 139021542 978148051 596859199 530322876 719408987 260968290 961133596 758912694 279332981 899616437 567601331 558590992 384121087 833137224 268098099 911172896 271862918 159314621 293089780 253279546 736559131 509108439 564559161 630304281 927041408 874575362 111109880 383981217 645355390 334578633 656816049 154444232 191362695 683096020 894154729 290240728 362564068 956588930 754769173 550168527 808307465 196259200 662727602 818387118 819336097 454368377 549132724 441063821 174856393 593146646 987456953 453022513 135724442 981468757 872810756 179953983 737178687 367513498 204477630 115792204 864122107 953780043 697556735 395610470 850557852 304621240 275330197 276006908 948347017 814892787 631451193 338770063 705218945 968752970 219672349 542888027 263996077 725141072 916510542 201083888 757847187 481108470 720278692 652762328 969754651 807172705 877966584 954973502 130748858 210222853 567349777 974856747 620911848 846054071 753102047 108176205 340154598 538172308 200252148 591504742 766703320 431434500 592036345 220561368 666292533 331877526 259254594 285110140 591550180 377195468 685367170 560788474 616361134 671976692 321395461 789149575 342440085 640424130 294860920 166922074 644935732 944939576 381581685 775050260 631944504 705637520 837791095 845335723 353047100 305206225 511336306 473455710 726167431 360780236 949543408 525790193 360302642 781568117 811925984 686069653 486207650 893736762 948388409 498442821 572645520 707743067 821405025 858727533 367280402 612951244 489820816 601593353 632512885 267529222 686349525 688553142 108745795 665885510 825870083 898965534 421705223 596584333 995568903 149478245 821823742 419050718 609763494 616587278 739183365 493386486 785321234 135992756 152355680 979424352 426621142 392762492 366545536 911690811 224587649 534316985 621185888 834284194 709814299 620060242 991494527 686911421 487222305 571218022 449447875 572925689 772568584 989476205 112993354 373104456 685838992 451131447 638998309 638944582 921100204 849817989 173927332 782085200 821768616 753298176 707551621 845683594 719755034 175315395 165129181 244470818 886290167 690515778 424220936 571704779 159090805 677447451 138852727 339369971 313812011 197750546 936477577 350879310 951252064 127665795 651104305 308170602 136057060 649564848 473547763 596718713 592310181 638130105 146966615 924515992 666189802 408677066 462847652 416849153 690959830 990065137 720989776 441401990 255682356 805334911 915813865 597442421 398482530 437549943 467233193 105338150 423364037 920027400 593032326 316979668 205143296 460003530 574394649 945308913 898149520 701036576 435999928 491272081 754409533 679056392 974176018 259805154 464320915 738478789 170039723 546022402 109856150 866729608 719477519 498017466 262003869 948468277 310162570 371001565 913182003 678785541 474858008 707784971 953823511 598446941 284221707 255378691 397195330 725001642 939667695 788886268 717657545 673700264 465186007 893535108 586578452 131986243 181706958 385196987 453497724 204091831 755872116 248756006 549795897 614073395 279264516 854283350 730156216 899229440 294055088 946023920 701529124 122808441 514930511 343749207 609949913 703585379 829728888 251570490 964190589 169128516 977905755 825571547 263436351 396576528 487436221 418242592 581897779 124382899 775285997 718245706 541848922 104980176 698756410 663102634 695055701 668030768 659242608 444843920 363917827 979810982 118751385 304844302 716422641 221057218 554154903 761015423 762503507 509241959 415843337 289083304 292226269 819004897 731127050 790616920 179539038 494503929 297638057 322170274 624029608 696557988 857759268 568598415 849103642 350407835 508719313 145692889 105266050 965216655 400974088 135568296 114240817 282837802 749333568 277895473 559965618 216319109 509797510 422598777 883207145 216127335 811952398 985903898 297080060 436475626 240592428 154117584 766390644 184405690 868509088 983595492 568877701 119955006 544134288 409526199 174194783 891502986 606399818 358150136 562140175 603869563 995255798 327675544 563569114 397315567 498850196 785574886 564789183 378502036 476009287 804377605 691604762 748838402 680295810 902337988 715242553 597041122 587591912 104292541 131147468 290836052 586610751 971540045 487142198 883388096 845375326 772116125 293327688 647239233 515816969 469725659 709842696 931734446 565280412 103997359 998064859 493167818 113344343 840550538 383637855 339832788 116695770 275402582 222597114 914426222 466468015 423177915 971939350 620114979 511498265 311235810 634368396 958547673 302708559 817443633 515334884 807019047 835773141 972710513 692803403 985723771 467427495 206959996 595483246 534070530 782047720 236933324 347735224 441702823 383866228 655224489 115261434 535312357 738757980 297530159 470545762 626435761 153740829 687694759 294572502 160175878 627291355 673066886 804319538 778452804 258923027 453761573 128602215 377066427 867385505 104344416 627130445 692817991 458319638 172142470 102174218 254108117 930426928 775424150 136150300 359539615 488485081 306332574 416508850 433607638 664759474 765397999 547945944 529070583 412478349 546570401 464818771 188277502 771529783 695129484 996465485 759579621 546023944 899633299 226243313 349744602 396696377 960255262 753749436 642157673 742827687 146475574 520546360 965608879 118432173 645596037 623324428 180926458 499296504 508758353 590613407 414736580 973692810 770380553 250010795 730849110 606410727 890786574 277913826 266899755 122530271 360579305 791473261 482475132 413581814 558769512 870783922 881666387 459897820 782780458 980730045 149878027 928403662 703529234 892221345 702185525 629289767 658590982 541062189 311382901 229439617 837116634 435341318 523845240 692198039 475488688 576213905 729595039 470720806 532894745 887716942 219015575 936345936 445260632 469829146 483604610 246190409 950863957 748680269 704312051 330571153 989522057 963512146 130638818 960849733 206169924 309245420 995359370 380314553 632167700 588167679 620597967 687776474 580539658 214976265 524455620 218230194 636264451 898703682 547994962 190023005 751075353 369448521 207248633 537054189 210703122 911367150 947913108 829426900 575731506 120284161 858738441 833750641 384260899 360290495 729464064 947254810 867310156 407961132 308940137 109901347 340794452 401845184 268530986 720527100 392178684 937937953 211532159 561601296 521047132 473331605 270233593 910199013 497150623 547755305 880431628 605062955 386900795 585809680 610978038 793976791 398223000 546797783 117720052 916325088 504454659 615237151 990587089 633539233 166242202 589774364 737171264 790658021 417845366 305613226 769593429 289533064 519176025 681848273 389166883 881543408 970649800 657013268 216333159 676796604 240993202 928425912 965207082 729415098 109123302 688727546 705550077 308282123 749969982 989085982 122736343 940244456 980999176 940296883 418383404 205636499 217075315 294069499 210016511 288434254 521993948 421038967 545537299 601925741 773500031 899112542 755351003 568338037 186805091 834580989 189203443 501920366 660785827 278783993 329961955 520531941 849819443 102610599 677601313 745928597 732529006 688887791 323588609 233893693 868250693 928156946 743461258 224021773 377381716 770927566 212638668 198384601 665398669 186935898 232653156 397252734 999146932 726815486 314539623 524693668 447273610 492330372 140871980 534827612 624138818 617518085 762532877 238457220 614817363 195221099 884018965 598873498 614066233 916852743 938272658 939179252 316983957 873201099 834747317 427271298 790644547 115636461 267423978 463286673 705232591 608328060 613701950 692693165 858800184 850039954 903133904 329899358 651650355 358491150 405960503 396998836 841640888 938512403 508151487 366442000 442654139 109757537 711408041 468793808 197200721 689430242 792945080 882307508 965677312 478720436 859818273 202922928 732510501 753475369 910023187 244483772 403267766 621391002 732523427 271763485 903786831 912211794 699291250 505754737 634571760 351161309 769117697 201580819 860697076 558414179 696373690 293168016 179819416 715912766 369101756 169899311 431236041 771162607 619402567 338247606 785131274 925162633 820570687 659736229 727625345 713383582 861759456 832039015 912821041 400530314 122038331 891449790 587901241 437708004 826375283 163247796 488259944 478067367 306560210 610965601 453582284 973415224 119735556 173789998 886320254 872496609 852155501 577264518 699408160 774098632 312900830 887237480 982196735 809817219 893449183 152809733 754799153 447148155 319941806 818432477 114654811 578377608 947573165 431854528 326847158 746031766 168148137 360320833 482242356 483772264 689981555 738757772 210176149 245224201 744758727 596711484 919410793 582800457 954138688 389308045 238427965 270977775 806748563 628847540 928092848 501169259 262361782 680178861 141432792 988800332 159743049 471108678 877933565 177306357 162780435 189333751 242706585 291098107 646231165 238133419 846460077 263331211 846322593 256577469 266627646 364360799 116972417 960174161 927190329 832782569 603385790 213354351 986570546 165173702 679350378 233803394 788878164 805749024 607378452 402174233 799228826 792830961 771431631 302244085 838010318 623946283 637039582 966854385 210938735 792131074 388478323 440046571 678167532 935112020 422521834 706918815 786123181 726511477 490569756 951377292 816409122 607274067 340864004 738904762 782737473 815146441 459822751 364284801 815408213 473538986 849668072 358599321 538399422 507859327 218435076 216956772 775989463 794317417 478803280 422940166 608778555 677156389 918403659 331208209 807941821 776161167 418919823 806821557 253048468 988413244 237636771 345952408 720077206 292486380 488244554 599238228 211414737 226794962 235763195 814480418 241232698 910666253 518863601 688814991 340607068 650903252 398632317 795417537 703070451 366327962 943693252 407772186 828486616 925166592 208007677 940799506 922506278 568281199 503610285 519220651 791363274 868646718 390628663 719279836 741309211 499627636 846726912 470294781 459849343 874877475 249626502 780487598 282645932 157268339 676665649 796966047 456871805 538031737 791902828 628715953 233176564 767186554 845780313 941604847 764906238 382072469 131249634 525434824 139702148 220953695 268353037 123766633 632774019 242301676 205478691 621902911 426692112 501912830 658076546 499979701 896756305 941860937 262302613 788146704 491639048 195879125 177273568 930601553 573577861 258285668 931933257 213691925 239380534 131381719 254412199 853144594 998866533 259852013 947419557 480386097 981611811 394209342 785187651 916792055 467682456 723119177 409833386 445101239 462457993 681764370 560432954 689293815 368653843 624969464 355628634 460563223 848540045 837081847 733628387 835486554 921172547 479893147 554492801 215966139 579238096 714721906 381532633 862272351 128132543 670354493 365878504 337862315 638317340 518042727 865001389 928628792 867615008 914764089 534063823 830430805 187010399 493811515 862167352 411222849 131651990 690580857 491382882 518400846 927785938 116627086 734728220 908233131 274298781 620260550 695229103 302378260 297333702 495752593 589300800 682367566 896174730 588771555 351939115 144906309 655817081 174571844 128137929 729056086 207078255 891442686 824998108 684144414 718495910 711741517 559707215 535582720 928006347 751006697 358365057 457917898 459540818 865638236 624790624 578553855 474112207 451084795 920567307 264858778 540898061 856047256 201470890 640637287 680479751 751386614 715566855 504313591 627225948 802005361 695916073 242240168 389917920 839459164 204374389 939813411 244068304 369965667 474540999 408750275 758617248 369288022 823603058 934161439 126113155 622001883 839873124 321281774 319828209 112535716 189728614 580408437 523671576 809165703 533896927 974581778 755822676 356652598 516157490 582375989 995817556 914309280 561587861 654936817 548665831 395570715 528792938 623147268 575378198 187961923 204791743 710006892 856130209 971653277 508526335 839829416 464661249 224256921 472286841 797536476 232126418 799717393 492662897 650794435 465106030 746065480 626015714 651597361 455036547 926886653 781085189 845117180 171083291 914136555 982683011 121714956 542182554 602539100 951999307 980489408 690541977 356509096 728095889 386224747 957784489 605395585 989773569 660923540 884467593 369105044 583632864 741131629 663348664 941594125 596619725 731607370 697244216 499316605 771379094 318146801 657897018 530304442 309277443 859900546 121260135 834625438 323250688 206109997 153524463 121496453 457295183 266522140 194636716 264030327 104329702 851226601 557556972 640062733 927317123 547824217 223623725 759556579 438193901 458653661 473247093 461140534 544822887 546345008 590026052 258666117 389470619 616230801 724350693 102004293 735129600 534696571 235509833 553808994 308220453 624629199 583656727 339026510 287723943 326265551 516778992 675793721 187073609 806199665 455426584 416094748 603254197 468665222 757342239 816320876 595014093 267022110 538832716 577851688 469015016 604201247 714675702 587580748 238762012 950411027 108213909 652006444 240620676 225549126 733545699 243823845 103627518 465773321 198921228 834585422 532261906 580781592 772897997 297485629 134403182 656431708 307938783 299095476 622390059 856348163 630204316 393755047 985481976 999049899 169282134 325253846 162142836 847100657 238838866 740390862 617623015 733751623 178756269 488238029 406031127 544444057 707232054 560882368 906274710 178233302 426750405 795370212 940179524 578250477 829486752 405187266 242485161 349577566 700355321 735404243 687882175 684425668 998974472 176981947 723262936 348691421 827752862 214732308 976529903 673345878 629505345 903969243 938596076 420339508 948771310 303615770 387555931 853157244 264336927 760355549 888279877 607010890 684107405 169744537 553352743 183881758 796598902 276750886 997455840 239313640 473535097 528875940 348320372 897815166 497045191 638449985 560548780 857674543 839355977 576626312 286147026 769903435 784522981 217629548 194803479 750023337 639176222 839320068 748295785 440200702 952278860 167440069 639819455 944385504 648762611 559221786 501219598 591455288 909075743 743908086 681475854 499920765 645729399 919338039 321043040 320080884 826475690 221155536 942181503 884332841 281949478 990307821 970413117 505782824 897214769 634209696 523430377 282513183 815568554 909905794 137394718 940183586 999978230 633605898 675315564 888443891 600930564 184710777 459080832 801265517 234236874 869766089 253324922 205862559 459621016 636485330 899305021 429890902 990239451 237842110 120017170 706538283 551471579 521069430 138858973 700000178 377378503 865106430 589885069 744497181 138930356 949100570 395418856 833643642 832264884 689510224 697512963 815103048 141464885 986286079 831788522 560656150 565128868 693128816 417603657 393286690 476578264 119424325 146877448 130315670 328077465 261156827 345454623 529692077 883756035 706011857 929300014 728952414 982199445 958036226 588135015 409008164 169987780 450041125 939729297 681955231 648582439 961909612 650961381 662152813 522604059 932771868 828724214 343965295 253828356 610676483 964240911 360837122 960547072 821343982 304489421 888432078 716171830 825980935 500100043 755154617 800460844 571527236 581724083 464112590 142310105 885884337 226446507 375491070 798581837 276192011 815227307 729815802 185821642 421092338 878682079 503933816 385947786 832780222 685892484 509737636 321313355 194920569 750138682 602161689 248621357 384868789 668127149 221720960 519299676 996700938 509152731 431252520 557249671 455241294 850359758 985961285 963609739 563247465 550129706 129864468 957367174 253909895 127399271 989377943 450904569 503648977 500087486 756436124 136640411 533880156 400188514 119351861 386137909 115542016 426236369 258675449 467509060 805642101 553589933 803545267 454452079 410249672 202337976 903479103 928125491 382786088 146641662 901578550 806827180 108495248 402563661 128794952 432155063 439547797 313918954 730015406 223951708 817265385 394435327 280594049 334428884 582006787 944458095 709779856 437871891 617012470 273035570 765165533 736299615 129012610 968653548 989083002 591835170 456574206 610670187 846949965 846578449 111873865 831075885 497733897 772241362 494061996 254077126 522528851 414770793 761243407 273485455 685241019 159045893 294515258 267058825 365253110 956578211 831898340 516935383 597143432 526617047 305429747 240861099 504555344 950356045 159360958 498106451 190958543 586291952 125130226 375756624 114225788 697706725 965255322 354625900 497160529 976965968 967420778 310645640 451232895 644041791 288401002 831666542 858019734 411083034 628198778 956504470 323153939 909885973 214292534 964466964 678090385 663988025 121932098 443921562 716279599 863879546 675337652 118929351 676459235 214358092 946191340 124528332 430959570 114419428 575519692 318480368 281099671 870315085 876139555 955215443 841836654 851244621 895888793 312276461 971877842 727573694 967874011 379805658 717713723 302936962 946713001 250501052 175990580 408321942 635292619 489679228 577037800 460704305 903988134 462922393 302555626 846017466 105245845 751002655 165806473 262523894 703780611 308028677 796727614 754802849 776134830 225378575 732668096 206951548 249444689 947033751 860669009 968182918 467539160 557849943 654703635 389040189 939824264 916295036 239656981 365310012 825049521 806238216 581251206 732555609 928580324 560501586 548319597 947632058 902059193 469680761 171060669 636202343 550350310 511541338 513349616 161274857 347388595 920570908 928831806 843969014 805928333 814841439 810443800 701913926 958103493 312226946 150494501 428866990 760922928 667932442 795677510 831742886 965936491 771409578 704717338 206407011 626298161 724282546 797993497 187025102 844912483 379135560 931985462 390394412 262534333 881686755 855538878 165601341 181245420 815801921 319434140 549927468 583978146 585471261 848013154 747981329 944393100 873496627 845865922 297710182 789516686 892962333 181261969 284076011 447067649 645060144 283587044 623187338 172238992 924275741 767272489 394569933 454332558 445201213 821822021 557130879 629858207 323566480 394487340 614584556 287643372 989432463 127202509 734787994 770498616 287937046 733970718 823393969 129473440 704403296 731235748 920957777 791706647 543863468 818705596 329585367 447505047 935784253 933029403 358902590 806477650 271819629 287099923 347693389 463843123 167692387 526305364 857059129 697244265 500046460 162538351 248510388 442498835 674411685 876486515 363765869 385835753 268550820 773764844 139636824 810130573 551204699 640643144 901931860 181148449 643515215 926104291 747260758 497229818 301476943 805252226 751391837 193595176 187088167 148179158 533167222 525219350 605856303 966852823 453383519 899396925 544229600 475658938 845984025 379390415 928793639 520745537 103880625 818603896 839891599 866529612 696750789 474450766 908727095 305694415 327892290 932970030 832983858 549178816 840064614 567835239 514481169 531473776 340476894 410599977 665924981 963058711 188595319 985278018 822583461 709255657 184247912 590280195 749239994 367654410 339170653 483063862 282667743 252435567 191759174 728844639 904735589 283582887 755200428 233733250 678628401 368197009 717657014 865689295 377719738 496427346 658072140 637050690 649341052 346571042 572209697 767297944 498126844 836633337 656119592 458935016 549395123 788768886 937255778 184437016 919100426 707957328 531466744 387772697 719467027 883201567 187219426 145623833 124429586 959519869 720714067 654195717 833727040 750683364 213233864 620629161 897590417 639550843 230150382 199914943 508413657 968658096 601415327 763667949 251753661 971245379 446038885 270317631 482605154 701703929 301257316 972571208 118182870 806848408 758107182 557918577 252091274 409949815 980132529 523693578 181602951 317208076 411046785 480723020 409215854 876455303 549572566 821326712 946290253 183108339 762661073 250354486 712753600 770652765 685147744 809029411 908788270 435983284 426192716 879325111 295979554 168224563 218361045 553904448 964725348 822354350 658093282 731004695 949859050 498969912 530110911 107340152 159709485 182564547 712525607 501900274 691750233 268824243 535682228 949118081 323144088 232745214 571965417 426904156 241620390 867542729 204537918 965422735 725108598 967575966 550279168 742145550 379537661 780823897 188048867 699053457 692348690 699594641 999122069 141292328 647581610 259318031 827627261 391352487 689915045 120342475 842982342 472658485 862667995 190460690 536826445 781591052 763407970 600149493 881126088 485699943 612194554 535723742 595479372 569154558 440911865 422215514 710807104 212580859 716533828 286901754 648657664 716136039 961326553 428832187 461580551 515459011 658242528 569578273 812369173 580186791 394207903 358247590 961003550 818366767 615694372 735700384 596728185 642180678 898498562 732121517 344347447 338888732 612051415 512609336 871678874 216817538 546068852 819090909 983714748 469236047 761040392 242723250 363641730 285308741 707758567 165038690 640168204 248206185 322305841 157104345 248730009 561754952 324077680 558402649 850895578 954822944 335839755 619916102 913529625 242928348 535824182 968611851 454469194 446172542 514555072 778362402 442522043 157742425 229806195 498069172 685152052 221527489 765705336 228470624 542212970 160173918 381905254 294109336 977913549 452550939 430111694 709233911 323960670 739424770 823828597 746047631 699836911 731881201 326820686 553172878 672888182 416224771 337243701 585409180 695701477 359830373 828807995 271428743 900446193 543963155 995185183 198807429 412269121 715915661 427514985 881721574 233767381 136443284 771848238 334575521 513916735 862974885 994069837 621131450 851999964 455830671 399903544 561322291 345236562 135966880 683345506 775343072 404908581 492448600 429919542 764898660 674425349 348082714 529317393 134213974 862866409 151762105 127811821 927773256 255430441 492312545 342339232 261348280 346945872 457928797 692601133 437945447 354972776 657797832 960962419 513237872 249117856 281436299 155857827 502238750 670814703 262420486 158447618 446860560 539747402 782108556 304879988 122925449 664517494 644697201 128076506 573562043 102187749 879684094 418479690 936630502 333521700 938740095 899918252 706885519 888252052 265524265 740692247 314854151 693844103 128200775 340323009 643058701 654423369 553892241 518290208 192764735 415278775 398984705 973000950 465561709 618801876 507361961 104288032 881831256 846314736 584796235 720531655 476208454 876840183 128617396 770185451 938007332 705437777 772973251 208139415 974987949 835746606 784545296 740358771 534201541 123899987 898698211 929559322 605137867 772180217 247194021 919865544 857616442 352103436 187733600 313698352 509013838 232461794 442271168 592462456 644989932 850359381 521511867 653357050 485559471 163668463 840895145 372024005 738615110 200329432 290963125 234942401 471256991 688179405 169027594 494576674 807039911 599274789 881412393 289627467 347529209 153532938 579219558 659371733 196477546 179178900 224007157 660320219 457591456 750702905 988136571 328774782 534265657 997566274 191640265 299515034 300046365 596654809 851283161 107307074 252261918 224462849 780255672 755481462 949091481 218104145 943423136 593271416 863302941 715758313 262419756 465848200 428377241 957850307 146107084 841726157 568131251 826132117 722646950 382609822 861142543 386828085 232780804 724397957 251629108 320459628 197793878 473326124 976692175 380003669 663311162 414261590 520151508 183302262 393650466 969593225 287634647 586507736 883230490 488785153 431386746 706631906 971949029 706220527 518770428 322008353 202151888 298075735 300357155 459898955 585908711 491979235 145863597 138475560 243634909 934885248 385693155 655668024 614766457 565195518 872482142 912869335 423522780 372116076 396831915 754243609 316876111 399734935 642952699 605264121 663347716 943246053 500506982 649548091 826913171 183063677 575245811 345794256 553949999 665760262 379822239 581154244 944085563 980924533 240255352 274245430 329777044 235569852 479941134 189598538 849553539 612114988 651760627 483036113 692369797 142771274 351466647 597905505 458073375 159605073 726807536 350937935 180166920 966052019 568182273 564644852 863124013 977204820 209691503 112342178 501136320 549876691 562803455 587244610 104115478 835295768 183100891 392183693 761806211 913417573 599250780 343144526 966368404 376580712 212154012 284335034 963783972 494116335 627417191 435069879 898094274 287759450 406959860 223031355 803757302 142965910 609902231 582266659 422015500 706931927 188217423 534001720 928948925 490422536 609646866 293055813 104476912 541138240 349870256 410238923 748530207 165212278 980746181 410048848 189678737 228363134 870634229 392848210 534591370 520742884 764470765 673896801 609078402 248805757 458500148 343792688 200785431 112004198 395588901 883817609 445628529 928105351 289789817 828582444 440481164 828166631 509008967 350929409 318052993 981792285 408370626 355768273 461145819 538255768 853403314 657436007 209817998 158626323 149107927 821555363 448422024 418414029 716160304 649258472 138778413 867745900 526545126 571895075 429714484 355401868 732199875 548426392 897460080 747663159 821025837 991588426 534874068 122568507 105004920 321507767 887345206 583139475 516057736 881983423 688593387 132859709 257503193 768105021 933317303 424567518 777578983 972477701 154709434 308708062 131281648 323964781 413688827 759886895 943819675 915065021 745495045 476127817 405702686 563253780 484612447 160486188 909330793 930998559 786863690 435025480 761362153 353738466 327265529 936691684 649696790 224882642 856354887 620536984 190226673 498799041 808298223 752645342 775808024 197559711 820824585 197940454 309995301 130851814 488868781 887270267 427102364 644864157 845917153 324075137 424503642 828693370 789810858 317536959 861407723 104200081 662956972 217798325 486612359 698358665 727399353 699470849 283745603 388674763 513906105 974034853 584397030 875202995 946509788 272328202 672398789 122894984 474353308 657239410 251217723 769700941 220048860 371528597 365337346 510941796 607323084 445412130 142394458 985257090 697859177 237211774 182483402 211304647 646345537 168165176 541261290 934396432 186994713 722480143 130430333 322115844 146580657 177739072 341254833 807197013 696770168 278711438 138408761 195236107 600957893 105905169 111477606 570283870 256470035 203019684 854440197 720892505 176702663 520739359 726041564 952624501 876504714 250217447 963811605 336765172 827469119 601423361 157598648 324163971 943968144 199907248 159216014 456261081 214973262 970527000 508851131 751656973 939462456 393330624 873063294 999286419 712167397 767425091 864650773 323407641 220400883 562223992 130776242 626590591 281039952 468796882 547287585 720374127 476904659 540293938 731369135 908566003 264607199 710524888 766594444 424588772 566500893 536654641 834604097 863325663 737710577 213909186 858636798 206850860 852288614 254696774 379251931 161570552 527791727 981549302 106559728 861336001 905358639 528097707 248228927 633140875 657768864 215543798 221170644 666929351 365643701 125622082 858971525 233604495 215529842 428940812 229730528 744584514 464945802 906882052 863044721 820425946 363805242 194970213 376199325 407713754 992322148 186520038 595362643 456458219 702624557 116491304 389195613 471458064 893609890 223109200 711229250 431333273 391284248 990554572 685882228 320442894 134539648 287901423 240930046 361187667 753898015 403914950 419400017 255179654 904380077 180449351 935839022 399085458 852295364 630941804 524333439 152818121 544286257 718790561 638204208 736024016 316168309 460423901 967480781 640655017 874971353 468887325 414316968 668610090 232129534 394896026 836856839 450578316 319841113 268030343 161452429 891249374 456346273 625202348 213132181 260085107 885113358 349261910 831061796 109948307 604364325 252739056 124061874 680343695 381749432 552172028 620568041 281016182 597435711 620582522 535868436 368519877 570069518 808372519 512300366 733050253 588141375 708414807 447063601 908537428 179459197 144884238 759512644 854945938 681653276 166125891 905390676 464358603 581983429 939441082 207239790 266295913 770045169 203774618 453383843 536035675 914577879 819793083 145203903 677257978 641839173 517416173 813465527 669184340 522076518 182798492 574189348 676287702 721228264 615351856 855729469 176102944 389756146 653027843 490841222 988747437 175677114 818173211 470399623 106190593 479919302 766663258 955673515 793182052 801296965 421117234 864727327 564721618 176120388 549263195 936376791 455725297 854920620 734843581 572091485 423220816 931936544 204242486 558038506 411867524 664028117 288744528 547543440 461950916 655628314 267351841 760320605 332786480 325711680 438987360 308444567 352733004 989176459 159598328 758437669 594779741 307933222 478120395 641058192 289537620 147775407 424912965 793231569 562390805 610328268 233431908 350871139 385704542 293117910 493825181 314803049 525721240 167462881 722276324 348790157 632840734 107743712 296724715 574636271 238798048 493340054 681581611 882709292 727955505 303785279 865271047 856626819 466171313 581605066 490018199 381933676 323925439 965957344 227678307 809982395 463421999 342869965 754532795 723828896 187339642 428840318 619758232 337668919 336539453 906981292 618885993 485974388 100588373 954887491 329470745 765709741 969571338 151315065 628335069 381500620 712780729 380731599 837575303 911010844 503434142 267276664 345662861 417725813 361749818 210232116 556630193 909173953 320784285 175368497 701263967 171842294 224668593 852716695 156500738 407372945 724476625 415741584 526170080 169511535 416502922 192744806 232880302 422492630 906063876 446680996 272158578 620959346 523339693 422465619 264767177 959112125 230878240 166628685 520907796 893019891 918765628 361059442 287509771 173937143 878887589 637704203 788765384 810700752 172466265 299046388 273959584 259707576 632234278 859832279 168008209 512916167 378463216 740045111 982763993 973312261 719034798 469429776 973375689 174711093 277357958 755256733 941678530 563417894 768869469 930490278 477017524 654848610 623084593 849523449 850443633 236959512 608790631 597599915 281787832 192529137 732861989 335408118 271831775 328939675 487153670 982346038 399270742 155551635 574578397 306257623 612186967 827282247 455579231 397393218 688560613 508774347 953006446 631107038 422401024 331227614 958412110 540909139 344159278 117062777 946227616 241862517 776035822 582195292 745623514 945914518 769763209 518299503 303542285 175477356 101755541 454473851 327489981 761501468 206144744 593086590 705013267 122254016 681733635 765610445 789805017 605986606 215774399 747642840 139463234 518549266 655691369 161762258 430075141 369834434 736911889 184243315 219104443 335320004 988630131 471442471 212589100 702990580 363682554 645911377 399331704 609471917 260942111 431582156 856325248 690017999 658463958 115791606 652436408 428583621 480946738 401660482 820258235 750330738 165243943 791340932 891834740 640138659 780671531 875251379 158843120 341881751 929970163 122307217 355755092 930230985 285352873 461500363 785173166 133041094 431630907 479396689 134767448 905701370 234529714 710756521 953847498 479357790 142985539 763333526 168445034 327469501 147816087 203935860 575233482 246279164 521697134 597429853 248766742 952459240 318042659 559316160 584572105 289086379 478337074 487801671 708488122 236387276 126243828 541637819 424861792 218300011 748370098 320814542 299936943 635253680 765908537 127105050 359181743 906526675 270775050 755384346 963140359 691187060 405518659 618257492 383456474 293250796 487123808 180587274 638617868 733216550 611151737 878651881 314135766 284198245 353492710 632635910 919063793 329577170 547801747 695318943 363831753 918775411 974688087 706751364 626751771 769991817 280845255 651234113 644308799 617589831 573630219 707256955 593830642 792027922 468289103 394954790 820481712 959186782 981094377 633395319 362845230 151527901 573767864 871011823 275630371 721047630 534870111 569806853 534773222 482010932 662831308 813233993 263105221 534433262 251549905 234980077 867539763 555710749 628814295 252770527 620710428 598433711 417324367 758136344 249124963 596683482 317318440 363371146 702637264 942819057 750946841 763903607 822757638 349633002 163346004 193742712 718520044 362588826 666227106 735114769 151834328 863051842 293715194 880637530 217819881 912146335 825567093 107616977 235706496 104375108 620219637 497785208 299293094 299238273 414652819 349208183 604784986 661329226 405521506 151744114 816744925 860628076 431394854 664089336 892486422 223599028 390819796 474402192 974875307 238642177 348225219 903664896 896169960 137444594 867255775 541532133 194427071 230386477 216405707 119375972 669955489 398198671 809234934 692489305 835438045 614578097 535599846 246031605 227123838 927587667 647708052 504250754 166769761 447471675 971813722 419125427 364290084 414370432 865525780 999933612 217632657 616069417 602588734 414353296 988558692 924582110 803379036 580148118 804141634 101966542 363589153 592938222 728929093 683084580 527571997 526401110 831941254 413276722 177368890 332492138 818066233 328027485 249410661 863003825 394677413 813695950 147001266 527370252 947891226 639626830 430231808 524267315 877264965 999270225 395328744 408876994 783527267 836269370 295981202 968926056 540212111 854803022 550091712 861070611 516547421 934721350 614516654 916491089 398435390 158043197 240423614 177088459 729338995 274815569 956345293 373407696 170798629 761687961 575124650 930215512 751459052 658466705 532050543 130331041 150817020 544449391 394666945 733711309 278692707 270116126 816004561 628241636 711036867 715253375 324327227 380240536 750759464 891181691 615118870 254555775 177913922 154354195 445813350 701649725 428487739 336122965 137495921 639411608 715889125 550674359 442853132 692917349 146820400 817637190 957018974 465192436 984450044 924535005 435723921 611317096 805605861 406590172 770950688 342989380 507979937 244786838 174895452 469341356 649723416 965515453 674173921 578904029 734071143 426276074 170880425 946419767 833647132 811580148 225335393 835100848 688839090 948951939 570600118 393733674 706250940 405703457 442520773 921097217 300329877 937210357 204055367 299855564 543677323 881453490 315743502 347919941 579297205 965861620 928609742 349673284 407868692 669807553 546756123 977916449 676723199 663767605 675547963 372523486 797310715 612191157 127903759 922720198 946240202 373173313 618628149 783421882 901435258 544644942 112270072 972889880 524537928 527569605 275903066 125236911 858415712 168543123 604832095 818988211 565755149 609486849 652308308 363089108 636432473 440967691 363583145 422196193 638633821 103185343 239928557 727078479 233413428 273018681 916701194 322800882 365772989 300942549 876351428 952720817 606885829 144850458 210389185 292002637 213133636 803560066 966053259 240108904 124593278 481577854 832146973 562620260 710135373 973296875 315204059 517079851 975476917 117493046 331833725 175538793 163328701 520706460 715803064 152595497 658462094 346616928 416357299 390298334 983741649 304341896 811080165 587165181 221034793 498194320 627529519 714898100 711464228 646194787 664257470 274833794 547008371 759316756 130498114 797722267 163859670 148533489 855117488 602471599 943011226 285460888 536566662 934770699 435801117 691123882 384432161 476527389 815065120 418848054 901386883 713812320 563728351 590445478 459601294 203545521 263417648 576469101 817473493 955101985 869058702 956016811 958653571 129050835 937630435 799939803 385918778 306165682 958887905 430824994 772924129 181150519 895434582 901311885 312445349 443473611 873080832 616148686 323859498 681134120 196861789 354642975 110296577 268462527 108615119 237124217 941344455 210957908 793863679 660516444 672102635 755399986 532587150 623776309 849301249 216894255 797104382 148484621 454539368 828414393 166671007 192534864 591476543 599552698 741778654 503816306 672697997 507385722 215781106 125844597 569477781 939151817 967368667 374659196 814799384 936818917 138477828 749106548 373923698 898039896 290275042 792916554 667469518 380089043 497186264 644320917 201449923 792582175 669863398 720812282 652870767 563610728 632819054 391262619 325991296 303454066 743309139 466327360 136274016 251940517 114737968 180187445 832107890 608095099 441471230 750265640 479664565 597455153 708089673 746488107 123910109 597850354 745308680 831556309 501536045 251250362 478938419 473754125 579653947 881739012 567895829 439791740 709979221 429524777 801928365 384732354 218910470 749558877 494019205 278801045 319574433 302367005 655929448 298794552 760843166 765898691 798511340 437561120 867610044 454741829 534416034 883562634 621647282 296438825 741500377 637520290 303813869 847235957 901021879 366909772 809903376 165897008 161436351 173737016 591097272 944410924 452698469 621917289 402224073 474169525 334226094 518001622 193078287 263737034 155278896 396610086 817036706 142028107 562199482 396796484 842168481 156869910 333046219 597796229 737536889 888108829 110716864 754747650 305676613 397854261 585971312 450434287 430039854 714544868 938887039 611650752 655180756 195121211 404108275 831562196 821817238 490403134 138375463 429072577 535089570 139847288 174611886 937218606 550242917 950089403 256718419 100026985 343109654 821060138 196186963 922899312 471341203 416838489 458503900 747424498 379847138 922015286 357751847 883146526 160849738 247597083 813332889 667158657 580520582 743022365 792795556 758252932 354426197 366577395 921327088 295714660 334483731 827539013 658345210 128296171 262111974 134764218 142444126 296654527 151323059 571268423 423989403 455554028 448948912 572254412 132401225 316870592 705649625 222090500 951395910 775938930 720325806 376305437 552992871 522032286 862588837 219174054 256347760 804441925 342122963 508678426 195514060 601653444 818465341 630197896 180465752 564032748 221589462 247058888 194557954 952478845 164267721 985526931 883137980 593721810 116360942 241566618 997166120 602976524 851513031 412695133 598876083 766985574 719674010 479723392 272287928 660292313 444655837 738409973 318845566 814189770 306893610 729883745 450862388 571347343 552659577 298992190 572257149 594594048 974033151 260316997 984510841 803594941 269717653 476288829 956828346 126632969 168653380 560175975 704191426 565313062 857698979 801851286 433260346 771812142 981028506 999874317 269602927 917589737 931560088 911615080 217968166 249693444 119625688 147302541 241420216 673717697 760284369 145546871 289858376 995708330 954555910 915100685 187629165 916400832 323212522 380408728 157989827 858722368 784574366 942652583 370559254 659055399 274613900 543032413 102502992 338301086 438042224 292980272 225765046 359877294 448243390 370598330 206361178 960656011 828681566 805378542 516430233 975954064 967608315 391345819 573012393 959461633 968049294 526761801 222415936 586063125 288430877 428219452 208356525 643056649 298245854 569021051 869515056 923026562 237749701 286856423 825174140 269319866 190931202 947937053 504575921 640101581 138772077 707911146 288081118 999596602 424579358 645188540 108959743 410912270 473898815 127324367 106766296 951441473 268777398 656689315 410484580 960470077 699892087 374976706 216011915 738597518 518213496 563410948 872192029 658753004 115335090 308692849 868949632 569185213 259293602 595280451 161704847 359121303 962855604 937774827 730477621 300936137 708101721 640565712 352878526 905307279 936415423 435730261 697695766 673614019 255947463 394644870 350263360 572823066 501051381 763423239 450153477 804470368 609563218 731118061 473386207 840639705 231325138 729810293 948979900 911613181 110465968 183775610 679823144 283617627 153780379 593259670 516839105 398585507 695310500 129791500 787512248 134668128 570626282 585770894 501479336 285889428 116073915 806371169 452214524 171348597 544608427 964850037 795851438 904145952 387081322 491134734 502735216 557319628 291342378 956152078 545161632 236582561 425860985 629340186 104939092 507738673 462600424 132955656 682335465 935676428 348425709 732413816 942046386 551979696 823512053 737998453 654554689 708058134 252298034 325643548 580341611 529480746 679350071 572682462 608233671 972544619 470206672 359708071 779863890 759911783 731655636 464604140 741594033 765580160 526668710 931169132 348581534 759841370 146716346 305577630 680658806 528646564 501796749 713413368 774582877 147221461 122252696 124132797 833091736 562312735 342953186 653031179 942042165 743376054 695126551 201700390 446664711 722972503 445168820 719723253 967825546 903720091 206716194 351109859 359674853 166267107 414958728 418280182 488933279 362135107 859809269 299652169 350888615 916927283 179961445 901224427 521763973 173354230 796755427 458757503 725359477 315894855 941513964 226615245 483118106 332379961 495322345 513776822 646029635 206061701 835864038 283682009 555788827 254228922 898224354 754921428 773218829 778615282 983080695 364912404 123314354 247937898 438418956 256593122 879925513 198312416 469737370 790682923 914145243 486831141 808238092 161782095 191425310 754639003 306068236 164941457 228404423 232711554 820875822 998868541 776902342 541520599 261686971 492555956 255118333 631179647 413556735 610544835 989225772 758240225 614155429 972372696 845354432 889122921 408976715 549858500 992241778 132902753 945691275 950532897 486660824 394164109 618199189 594198573 449516958 889564745 785271226 257142830 906626398 293623519 513887233 193066997 331101830 246052080 506128482 935372049 755695363 936975199 197487868 596051713 675342619 145553750 234015313 322318325 658694306 797074007 610061378 964276949 724281874 775819771 513137227 945025536 152909036 490057155 760017447 538281115 543508997 541212221 648266451 780279762 778208356 902108865 150501223 367653530 274172756 922087662 451721948 206557065 680112853 885309097 243437432 816046295 371653505 768386299 320657740 719544323 957611640 102936440 380781268 656975163 241754202 718657279 949053567 822774692 913339434 614863989 949108718 785670549 290026684 709103997 178327538 561167922 273749125 113186772 328575293 779347357 730115978 879148466 141607543 939518120 932685221 993515330 557142944 310818659 925552201 846063732 688759443 919276748 241924993 827827811 615227282 434426170 741949688 612955465 806398768 452727804 751947449 446601231 443158091 919852247 786742554 839779890 895468266 783680340 771808477 935073887 548611214 290382768 339727545 444611554 956840554 839173001 478402583 396825479 733781103 428043716 870958245 643936169 886686845 967205559 740258935 445335662 799702048 279627683 145044265 442674512 710837081 484349697 941806422 433170402 731419725 565558312 260206467 852444344 914029682 844340029 241212723 340819226 630139838 710593059 218164854 308754543 826703353 710049083 400481491 163227125 768137423 226929172 737576952 459225301 523649746 919466990 388893376 882750319 823735359 411297740 645264649 536777502 566955749 537428770 684778422 603022071 322867014 353392837 955114442 946159868 449366305 922015431 881334013 348891655 690274828 499313119 463684785 861888036 835860570 856716058 321581668 160802571 484853800 708450287 690580111 265138414 790395311 930725308 837552872 911004278 265783685 706846071 533212801 215714762 404968347 297561813 213914939 561699995 842803323 148654360 413260174 696024378 888253178 546709806 393389623 812683113 109321494 136080220 755920414 395585759 533191162 195584156 246608016 707888270 868756416 613639406 336035837 380791850 962678116 647412256 834114395 411501794 655775256 560744014 614834596 591663163 883900134 344741971 475807054 664898626 751657298 649710188 974671149 684801955 664550077 825863660 758704732 585172233 706675494 526466249 827766171 735133693 136942737 631276409 283954789 617905032 300485414 453471319 317949917 190887713 954528070 988775256 478068694 679155545 219345338 131933197 617443604 880884567 590996158 840634871 544254099 846029225 771063623 946288867 605883679 646395412 263734476 285979734 685297055 492226381 467273064 607658057 680753536 352826471 700924273 892487341 800274378 380539429 875654321 769169315 871268234 238522695 685288943 907642402 293960094 812899868 157857138 727807883 256461308 404691362 450665561 980096570 263078400 933468678 944920848 384105447 525893156 688514704 959407149 634980124 932160235 175133585 905423458 161223757 972383717 745361487 927070821 852923374 642547205 652317271 620276823 236478097 829531912 160411792 287519850 955546812 616246664 432722478 370882217 282169306 885532714 104182596 658015575 721842693 842318128 960272971 489809962 797962978 987832658 263690721 782147270 554607250 967116454 734811390 954827657 917966846 604815276 294807358 417264347 421041427 455620697 440440033 978904214 563576494 277430851 193969529 389957633 115950396 601521788 206509735 383139792 895869866 395840497 387329608 202167712 409321244 228583259 292693982 716616284 574476409 675929511 290840630 688215133 305043488 122920083 906535891 603417107 238118559 510994255 222735850 235499286 344688627 165120582 152370435 749079943 327547472 205654609 233490243 520735033 686844021 670734981 857838673 619305095 729838153 273631002 506105522 163737083 634377139 857057123 643723108 871985678 466523156 443369418 845586779 151292595 764984214 411295833 648341899 301125592 787475645 282123569 412031737 277179186 809381802 835323588 398597140 150072456 531580278 549273023 179491824 323293840 791839587 574495061 413401983 282101477 465127744 423489388 967516190 405574652 615064196 332743504 777647063 514580008 209093227 474750289 136078767 447010160 811820116 668151248 282002914 218788442 314560860 918492108 444402067 404916163 392969505 706702293 788717273 250395679 117379988 800225083 554185436 382111588 679869168 982209362 138241789 949994128 836652797 802281463 850265123 203197314 305052948 219975338 914629162 287976792 980236730 496405146 879039954 949792188 111311089 987019457 500082224 904761588 712765680 154289109 427191305 559291778 740227868 697989152 641234678 632235380 433260785 673240781 203524028 714177394 298670451 102020469 389409898 226987280 102853362 102893394 456494998 507612102 236563071 587706625 122068353 453487009 859176514 474910636 874763795 844126905 486976912 591059239 402983237 833306471 176931073 395990161 166945286 186869263 457856346 391016569 953653165 702668972 898883444 380723338 756109708 570658173 489004273 207175246 423283506 214705495 541546996 786970994 982332485 786637400 874339337 378441393 892115591 140546236 931446991 111585578 523870915 158541950 544972656 259841040 711859015 620598023 250840973 656034426 165581207 736681996 215062846 503687734 585110380 925994265 677555593 201048737 960498638 632680954 332250280 828043505 545395306 150224092 121872262 815156358 842465355 175284046 779917435 430640265 527551275 788494805 113257718 775025883 751906307 145951890 238097253 148642270 684706043 508311103 166704081 910714744 106394687 954119835 541591332 103909884 757116192 527538871 844898849 441381684 552594437 960294324 851935366 221880050 708410006 686636459 869872037 832254579 141513034 749650491 247370456 155436646 881318143 736127541 796589112 363029157 154812746 653688447 641444896 807168753 892043953 924196626 160073397 784531343 520759738 571935987 139996374 231789164 457519953 971732231 870865088 787745663 570167224 597490436 380733933 585423088 846030586 477004586 744366651 565972090 895849202 738145288 733448814 640015519 248257142 395948368 328566427 586005099 517669560 251043758 212483949 205362630 211775394 969974468 923323083 939103917 426840593 797997575 808484916 294536117 252838834 648062376 829014650 509402614 596940200 321992181 909291564 306426785 162111960 949544266 471515214 625280144 356125145 442677486 192977328 648013277 308847306 500005060 428637410 938516626 971434018 590437743 857091835 529238461 932684321 435789496 584890142 856422270 125761699 468685856 160501713 474388140 690323726 555383221 392150840 586314984 248813801 181297169 452399552 829718114 131616461 893100154 471841576 794946167 227989300 455737555 584557839 507349505 833761565 667531742 153673880 131160621 260527287 145475670 493840924 284282101 698143054 100448087 731729303 561784800 644149700 245886483 781320163 240514464 352926921 510379844 251690984 990362710 549351092 739710385 490507676 325828391 427710980 168762489 932025455 985748858 995336840 909406344 871840393 424998700 756322967 625548039 824765902 629911970 997198146 763530010 426268682 243991570 980993706 122289999 223057431 397011158 405965602 939844070 573993850 787162297 496569551 774038807 413650328 367815661 569881813 863612193 806428706 355847568 331585311 443014215 427621932 963988592 559258680 599846396 936636248 653488663 302950270 760677221 936137849 702376186 199738399 607251316 554458803 877236914 440773977 306474118 143453553 688370331 976149828 766617012 766723347 864212734 156738405 759764039 861827569 399217234 640665631 784414843 579932788 649771780 565407727 766396932 764683752 727215462 943061607 578196600 197565384 425453652 153647392 723444668 687801012 205980638 599451884 470019759 958102996 694146053 563297561 405090031 184029328 122448332 763476360 783652503 734370457 218780216 860939218 268432672 972018238 587715226 450662452 152808496 374474263 612068201 804897839 424510659 636130391 895756207 550245040 545172028 511202731 787182001 714334680 764548991 310294019 815199418 326641431 771712738 501946343 311071287 523361544 657002030 361403187 525344257 731247022 451547827 453497074 329276635 631363852 407679409 142249455 916944580 140843035 342805127 476354193 392612203 234314362 969007728 969228793 176852309 449318269 973778848 454294148 113764680 281545346 648499688 993505297 447351199 416375312 911286731 171930699 484408874 891752871 967004126 143062111 970735076 121102192 604549557 856453364 104371424 593136600 468039752 389517509 474282446 496271570 279995281 741113451 932585937 315213503 374351482 916088327 536405491 649253031 581782484 399290230 527572217 237642096 820533407 771878049 637119341 787063816 212245257 471300857 500801139 837868014 116947706 592325038 253213256 228414051 691313669 246881181 497274235 162986307 375983435 266127039 825408443 215732637 649898451 674204105 363333549 945743200 544849191 297211886 235574575 131219135 780034964 714414927 218785362 924475912 432595204 632276160 186410222 300581909 263952749 540546757 860556904 416561172 961618685 234038373 843646790 691217742 493498254 496818443 422924507 181553150 117729715 766843434 434805201 382857241 630049984 307229359 396451082 664702521 350454188 999401239 923854387 843342159 685653637 115937157 574763158 881142535 824626713 725555279 925255118 149708675 451178662 963126181 734902830 387064628 103012182 416117418 860615446 111347888 395616823 504465067 635842622 866006074 536095280 169669323 562450313 826133237 624717561 584373878 211750545 832069817 212842215 520034352 987738876 284068200 953626380 619769084 276136294 466587936 866471245 719795154 517100391 957785411 416744741 631150223 585458535 169191798 242018365 695444778 319535538 767008771 686908880 976915448 403504993 475300339 944172064 368986246 332365771 393063217 638873794 754190745 271410287 127303174 947448844 934425097 519640047 726713566 728018419 412765490 285841443 805052535 246472857 467679410 368556553 644821671 383381397 646522180 377673455 916137486 389550109 968866136 368041495 685108286 744811440 299192374 821801866 458111653 439274134 606615128 913009230 224170009 345863470 463819015 831999551 408535172 831693165 575302102 399224519 614097503 899943640 944655782 555728929 984616185 980807529 232940320 102967680 825252010 976740047 991206832 250701108 279643282 606539396 134928692 548307382 858411937 217801844 967378650 136882763 229361692 453845320 647974131 297091421 411230701 672167801 389829786 601545535 235687481 461010271 919949890 604971801 119146563 228503095 745740813 801602004 171719910 448301808 547745225 737110213 257741337 635659540 186106806 868442599 205960518 598863786 200539123 887483506 600877307 241066379 665338745 112520764 553830081 365853285 339128400 619197232 908888789 753903182 828236763 878821845 266895428 501904768 780578872 255875922 321674700 758844048 581317735 933884989 917021794 533413571 454965660 355588095 475515596 366621942 453267305 954918155 791399137 459621012 201991452 531301579 758572785 747637985 573889430 430247721 508308026 441632590 434522191 569629520 695265884 197901801 167981682 534376526 120304878 998382397 896848595 587425352 419763610 495426412 976410381 819842623 405973396 633886273 320574175 715449638 490800685 155498859 950691980 395288323 825585868 607071632 187564534 377150677 490624475 300687524 513018705 259473053 516363109 850862587 352404591 879932576 199775053 103707667 949922907 612590711 303923893 337069811 745265508 437872775 548007057 926693899 244859015 904210217 928997792 551501249 422554518 794216553 808475616 323209779 119000645 899941855 548493007 432395225 457577697 737950715 649489777 307416008 160296120 232006535 306285935 840055622 809972042 657315670 707170175 430515655 899610282 886816878 687457594 333820145 598333977 316050946 710646064 770422401 611395700 969833604 652268886 333004719 924417185 844101670 316992699 430479463 917070885 482631548 207314818 371659451 415966248 239927384 791374313 472679263 657513344 271089692 363231242 366562696 207510419 372732050 381905955 316789847 420399622 303977350 203443468 862401271 767703113 230281827 285818183 605702031 537702186 124550243 156069176 715870476 175377585 797398623 696172271 547069884 162460483 172611033 852654913 433096008 133222466 135332819 695287278 131431591 256159390 886875145 734459780 261547367 747990528 487714244 189563609 854612973 352216843 132014832 111398503 869817714 725334308 884110498 600156911 969537819 441309295 442524057 557897008 268123819 238926616 551344704 458522025 846821609 698071025 710246425 176751713 424878380 600249299 384673512 210965526 311689628 508613655 402703490 560999186 701221212 197149710 345108078 518179017 206927065 175087263 563780342 786511388 617020555 196625754 367230812 774549812 604279270 211938805 458437429 696190776 486432190 930992296 226215324 495015216 566094076 443838295 752917833 556584234 471506651 494055875 858262499 307498423 414648065 391112628 265331376 797158262 229107169 995399605 174951424 174432800 772643212 879167711 815636555 733013666 724021334 305263623 313989503 866917671 103821918 597551549 553394193 321615905 442064877 767538114 317612933 442022426 103390803 870329942 276866290 504917479 770301608 195179676 777736708 216568629 751654236 787155705 489859315 659286830 454816235 788814572 519334115 855754458 912745068 219051802 679816096 315134459 630006553 569001605 613716437 453650460 678135864 602415195 341423897 674653282 166263204 951849195 403785497 727816002 434783477 594627198 273756079 985866993 437636403 218081038 533810343 692245435 336766939 389614828 803986156 836327658 845288824 625115599 779364082 167092169 846797414 432649241 399341242 715039769 138102174 365091817 440933829 791414266 956827966 679709585 906061277 577612467 287237891 195065739 792156479 274004552 496160832 161709763 591680253 743435739 724343268 539456460 699596831 401620262 324834094 860456654 401100965 845986701 953041479 783932493 555574287 223562588 188012025 651676618 142890729 715738298 804104994 832299615 323800803 121373116 625330871 684327566 864441493 488159649 677555764 522120129 973839051 850622901 199755821 426342467 165848868 246171838 274288781 128982499 523126598 418626405 902948498 409966847 179953676 606126434 788003636 133629179 522707434 310713149 243586381 887962770 610364597 923719738 678968940 868808940 695279173 739958255 485072177 768135360 544967003 860408371 469104915 626296769 944653132 384079188 491957180 699580589 802233856 426596593 794136801 115612573 604614331 120909800 622667043 362330675 826740666 258738986 478338276 250674759 767091042 708827227 184272258 859486599 611957981 185986483 848312427 157920773 160375443 320188946 195898732 396341865 176915740 682900464 703136445 691469873 748748462 127791850 655564190 912105082 574131354 346719289 809169223 910633112 552922074 517397826 515903787 117381496 989278136 261919196 589573906 782327238 332705800 965629545 260638289 839452621 888097854 446440978 657428846 650510962 736514937 789331194 100567947 372229052 125568122 636942263 427376979 182717996 516720609 529049320 843914607 271519538 603052071 934810195 181097800 914571425 277575207 869507890 851209648 365405379 883148157 289400442 448195406 126845973 572932536 492251806 793118796 455164392 727298585 688807213 578335147 121651156 596723323 491727399 147390655 969445118 979814383 741995930 333349964 846851598 959211734 360865234 455221358 899319316 322809167 912133594 709251346 543006382 178597775 599411120 468593749 158228764 538330832 862063132 373595943 651984105 496593137 619260599 884446197 555374158 485649787 342718407 813825770 888744486 575874847 772690341 454634699 671007274 555882766 721802889 803089042 586028078 925130000 109417871 477591616 839817639 633244225 114972061 723950239 636230790 861691166 765874515 820355591 352639953 222826145 403279217 301640389 820944262 953025123 241946530 253514318 259133964 296984145 920403251 845592940 783693521 264649838 227337783 661884141 531863223 702422673 185353520 372349117 996163337 956191225 608560373 955953105 420698875 449943241 415977387 984240310 148531061 117277773 362808623 809736541 336209820 863673693 719644709 366218085 813526020 298702292 132814992 130711824 421942750 776441413 905297771 252176181 345800342 433258749 343022220 253732286 632642668 460795205 407382486 235955000 467334370 934623984 311435826 652997020 324337997 873509613 822134369 556895452 922648068 392286669 217618200 124441109 378024205 757754595 688521296 105806772 991339709 366385443 770297279 510813296 370325060 678308301 791109251 893137293 345885608 294377689 171427669 156884166 219710265 707009290 338431601 322557794 408295252 893519944 698998216 469984237 448381285 419077233 359680219 969583368 504669240 660988576 524629457 886080093 628515356 275434908 686440914 361648011 732849433 757732290 227180864 642077397 136157865 423642950 723132882 152622291 707106683 984986771 334567904 131652461 425966371 201121087 337673109 708569047 674698314 403320740 354282535 898725877 655355565 710819086 903467175 635988280 293952623 677476429 133347866 191102229 552817998 942274355 689367817 833911968 286143777 797699457 658986801 997367428 299358467 864250598 334937989 922710672 596502771 256093209 233314756 601257079 425271888 868705544 972458239 180474041 705676384 451523170 948139875 519980485 255757433 924280273 715761794 736517899 986413359 656915170 209803467 383122709 310021058 921713173 681421198 372561929 981569803 940725998 634285681 905135176 481977082 580560690 281996948 235010569 531064319 250640026 542128378 107266398 616019193 542568071 281785620 791782142 922970782 908685827 591375846 659264756 262623140 448213173 928312336 214332961 489568178 759044281 672480740 452291104 270223043 392950695 821388198 427283823 688710736 496840492 434343006 983311661 883851189 581934572 635732065 942428627 429420743 397912455 621515189 897011161 346086972 475138585 301462282 428892879 488470123 865018618 479775111 639884267 176241833 164616621 535027957 871601207 411465667 315170855 200959134 160800969 288024823 950631685 417320634 722803716 433326440 677003170 960926637 236165091 549955176 390270205 148066969 491852554 832980526 143020916 182489821 772889929 818919665 679456945 797303758 587351415 877725876 689455335 671475411 950810472 798391714 272964413 921718155 996449402 295611686 562824938 237717051 711235801 305966786 697096808 820212403 380998764 456232462 649059862 264569018 500634711 320426581 995741709 671562264 625325598 842071928 412591071 539743632 902192018 484356401 815200900 534109556 733884479 172792181 789926813 806379656 753968168 482927383 309303593 971591895 250354462 433860617 405326535 532450225 309308448 976491975 573090943 683049191 464394443 241508478 697777983 873807520 123784146 150997343 548468642 341343232 431772541 364723801 487262989 441603921 578846049 580765134 561070333 591010626 168283931 493478894 973536567 649780892 241598177 990349731 119806480 533302498 807161742 274974680 719698021 789995809 731758180 866585794 120543638 368480935 604832730 703295406 866106620 309451596 466872744 435101983 688365772 172350129 105534814 234854166 317403503 602622716 967745606 794849603 251591186 625439557 111055146 346376926 826238550 605638618 782326587 553142002 362393139 393174037 159781263 313931035 291372376 690213447 537937280 435448352 881080319 302013104 338483307 443795833 775677080 337030449 800661555 143336622 725544381 114201000 715572310 749084249 236692780 276274831 778841403 624363189 754881819 472177351 921486087 792964258 449750609 748935778 387866607 252371883 844228722 897126114 705326115 797726574 619450568 571964044 813747135 383424971 385967135 144100790 218587898 135065851 758346965 342754741 464539694 143189479 226347552 161162405 648451476 100474076 747191533 859529108 588681079 134363065 252572605 669340150 942656339 158297561 256357804 577315386 729994633 217530300 372569961 565063292 252257571 557324380 998328190 284012816 782399098 302137290 694157607 499049192 272603153 211141386 994930193 270040405 943179390 747839074 136013999 367099967 206640310 654395629 380222811 564820236 697402389 136646207 566319991 165966899 778418793 234796062 177530963 818623376 264612745 759041675 525213281 248954043 501593844 462682543 846115527 425615044 333978686 430724690 967865581 892589308 373059295 745146719 267320795 692339015 548170861 953360533 692631412 416766824 288726274 463340149 495811116 524270588 122731768 170817677 843584525 523191932 949676647 769976597 303298150 712015245 449451009 830019759 264909770 233225126 788181105 501619006 558445632 990762391 622310881 185495155 609508806 477325098 883058200 456169535 421183930 804771473 443524558 929686824 343565015 473228615 591918265 486982617 829192295 823579085 257426423 299550994 425232311 407460737 755441245 491194043 456737328 116324630 715901527 590176703 164070019 699774600 289066625 183266118 112833919 306490468 760021592 614964138 855411880 160608834 517094058 956522609 614249528 488794325 806726308 960569576 955203943 499927918 176817001 610819205 332892004 559047281 264375953 498241942 900291061 853397099 199639057 441048436 157031467 334884941 785895007 569956572 937031742 283099255 657736237 271990500 798048918 730251386 598303980 860527404 213198709 375585025 357081436 613629238 737915907 899526983 453513324 564010332 527388931 312415708 438895022 100734480 975563549 252440464 935247006 193285122 740977612 370160770 728208532 477688086 542386940 347160113 412712848 296837769 850392714 870885990 558476750 631934988 134772556 378083836 735974985 655691201 502790689 712474459 495323293 615935863 619800149 215347328 291142128 697341813 161694472 149262977 188714599 134081960 536771115 504882397 249153378 532323160 278410539 479079008 563594812 355959969 711378398 118917014 423476136 847023449 824256424 678167008 139018343 338806819 253818104 842942205 774804338 547586507 760050104 721438394 748637682 903775528 387981069 432153014 198973244 335773479 930589566 929927980 166523413 931742798 129888081 181547587 647125027 551993276 853561521 104179883 113928522 752150154 795091190 249680554 524656714 494252460 303882730 246009838 652830715 943070508 804347358 465129180 956489148 635357802 151789034 969475044 905155922 816629563 167314327 597132710 677908970 532904648 712669600 441214861 211204484 539605483 472819783 216332014 733893857 286958265 343644444 772217177 983559509 826106421 718247678 915480027 878692071 113817701 897686995 862114606 944585411 627856134 344531677 314570174 883480184 562207294 280238485 723080871 750892398 921336022 821643201 895617002 321638890 123707368 761467714 124610923 694176969 805569505 563229754 663495141 570914167 610111841 970526907 488831795 760103932 574695044 626781503 953910866 562999469 977497163 792283767 829712057 719370365 139201453 210610570 535633496 493939946 175117084 882133440 760955754 457630125 114783215 934189843 662341130 355186505 355946353 981397238 640236742 342702305 326522329 695005763 645446314 201033792 493139255 818156968 907931516 140048702 443147435 416389968 801022554 908185909 418413676 289006009 681925569 834288009 505555248 568770965 427126581 746137423 275806000 964203967 898549980 416801456 563286636 421847997 431165559 863614879 266795751 163612280 111167234 975686368 649026701 149786741 840064628 915525285 191712249 688269885 640525842 970531632 353281314 731015121 647009848 412494102 159715025 184822896 904549076 833643408 103320454 321058763 946028769 841078224 966079869 456140171 623654755 208068527 566600213 336907653 174955585 626643625 977505590 596829736 999026593 965345928 362794558 208745509 965615651 527604239 623902322 945356087 604601648 964054719 538154172 189117940 702471217 707553663 454198090 411890894 336890332 867607272 227133493 193689637 994798440 739850114 398438945 820470863 595336762 821137703 315467846 940260362 784395089 836086586 515285494 873719853 850210711 108311825 297067860 193716564 552623759 727870530 256478737 156820895 645226009 225892414 121814084 134487360 554925794 303849065 439776516 923576320 619684960 445256732 886806211 749894654 331341048 261438992 581892755 634998531 253162573 578219918 276968053 852347908 460947738 121982787 735512361 420756005 380821298 262858120 438152982 506143189 502799589 387618626 508557403 868220811 161259153 456461296 247717901 182994689 897465169 363781726 448836548 543722450 618825060 770714169 152791061 251166163 773792078 616375118 118572458 536050235 192549052 678353641 411354946 570558943 606185065 840187265 838231966 995266080 478696999 458365573 946381266 512396560 108584444 452262308 380915063 498056791 895089495 859323731 729488378 543233814 462761818 379711909 383109302 886698479 419016526 318597007 315893243 175862365 720899891 495209901 418508045 357474936 822735463 907422113 911282769 596117183 808889228 639589414 107366117 545129098 665838982 467474986 943375102 422258293 339618968 635782116 738681613 355649894 523768218 808256527 990124008 845422981 447890750 872633234 916037669 617180931 798660474 250851437 832009644 122715725 997896074 337839985 405595554 585861171 631342219 103056036 523330184 763544304 893670522 434156801 443138126 329510250 311710037 396899749 512707799 214473783 162636949 934253476 132966560 985956871 140580251 683970953 670116799 646121142 945206588 931432812 479670219 214770772 158811573 278207158 885671122 830640090 791250186 363071432 369980915 749234716 355162933 612699717 412360926 522181701 700382415 480290990 749328844 679283750 782086571 507251239 206574270 848285017 635721227 740075581 992791033 260658244 257446835 976859246 534564502 426584087 498564019 252276325 620908013 689583506 897233754 128163897 556114855 512784758 858485416 960452319 731010981 787723796 200055523 537180353 582321851 351658329 236946039 825564537 452128536 540653215 354313918 902371468 900330795 473060056 674317593 362909903 295938264 643930465 865539926 111648353 353270831 506343651 669872735 956911593 391851820 194161511 833905215 238266433 941291178 467101913 230359392 928699788 881031847 788000017 174603945 503146068 404127440 389954025 499852620 719825881 884316441 462738921 291671286 137092216 720499094 975027381 534222724 782591366 952022733 620386968 708591582 384272343 157558034 900853280 287530654 764627587 859606849 393320875 346713822 790342050 546444452 571618911 168351904 708620034 394182652 763659594 697566198 282574728 585726502 942310111 846015736 891100737 787811952 538820501 640497085 700709245 391518873 603682381 478800645 968165487 865176596 982084226 139301387 422203998 288968307 456023800 712629463 157853233 331831508 126839706 665141854 559584250 399157554 575601117 785873483 814224457 915460841 296598349 463733155 220643829 238346987 389888112 796973067 784515552 943220615 629978877 151427634 902332404 717631796 844034647 175866226 161444694 806604519 655736576 661623859 695337953 572277559 546579546 376119862 693651861 799116067 325425067 839710452 162785268 385227968 592169168 301823475 384201091 809051399 836797541 607185263 873091956 824431004 700958559 454131670 717718660 719259082 105235900 798177862 703207028 645934705 909686853 847148493 491739004 243620536 806821253 676661554 794174937 744891710 184604860 479519833 835194105 271422554 448587152 921292475 675222679 369570716 767330126 572312937 499512024 840081218 771240088 346948475 915060897 758803815 514046759 228205332 770202888 450771464 689157268 289917144 831434577 622274328 712382401 946900025 881920847 485459950 961311608 930810921 729436930 181013271 269053036 174342407 638438218 976272115 283983563 422070926 181170105 418099387 643124719 321714188 645279641 441499775 114357218 838705640 895556085 494592339 126236244 631951328 946037612 430416805 834942927 937722071 991885001 983393687 234926037 559830620 812379764 425036631 972175502 807021837 336617510 811321635 626866750 632158789 288286280 619522720 205396886 168862540 843211253 367853085 144134302 394165141 449340604 680762799 414551339 724659407 327260945 688716290 644117443 957279832 939607209 371515245 467823009 539034227 933245321 367083533 129824677 333596585 909988264 168132263 463617044 379079236 522892242 864992281 621022776 632988474 514734529 839087876 991483579 634229356 982121148 594243903 713463713 856323963 491804164 727062356 292314740 134844476 505319480 328517237 586086183 795531906 498692512 403665140 565459142 502227265 852073561 886852945 993687926 848394889 618713244 139897254 459968333 672317002 847231706 248666513 146285985 362804105 272367720 756751983 829871641 926233819 763655981 822271258 524860656 528293672 499037990 568786493 480501530 912652690 696047548 147648901 835947395 703697768 552979454 109599958 845154857 751267585 185836593 964212451 962837039 816601167 140111486 676810170 672570559 341483733 880131827 868689239 494991538 871752780 937958018 710932475 824641529 390457172 437346951 946474139 886124630 567825362 889657999 880399919 733729990 560237089 430103014 850705353 939454670 445274506 454731494 259964001 559382456 711499634 262707345 251393519 332273599 699559614 494601903 969610157 959310882 837691914 254256885 793456038 959832441 356535336 835702627 393047666 569878179 261870576 960896754 208019550 712067710 194253866 553765461 628635680 110917025 394682162 440421055 991604159 541613275 392915869 725849705 424556862 376381326 489869278 330657326 305894205 545053201 618488971 784092713 433546158 911054642 342092363 663705275 284136980 503848720 594944022 506904618 767082115 205899609 138037651 392055024 644923069 340743405 732744079 508276017 406801901 257139293 281441122 137531662 787323439 626235903 254541249 545042135 831169626 688127907 691731080 290953158 674040033 237243396 780234759 211367998 452888726 330210011 708386099 498728672 686493709 482619586 291111466 973570876 583822783 361088169 324849819 879687230 127251599 971904714 534019643 250544345 848760686 586993383 200920967 147145544 490049749 568792704 520176791 698813539 539222685 957561774 310410849 174921155 762775130 295100281 533819049 769879281 639911258 245499721 609318719 472162182 303865779 263476627 681653951 299552029 310140424 478272290 624100742 688224046 479425869 395576592 235608754 862540362 615939627 639292542 417597616 134318820 400565733 208441479 212878515 337989598 749754751 998260708 352875784 672061750 977956163 203579245 857510421 737142805 917008455 802824695 253202992 577028859 658342598 931395284 549199613 429004291 376221131 577414802 108215359 250325313 298046868 390279770 121108284 605561290 109731321 664257013 789617157 649901784 879556608 183878227 789076485 510854002 699263560 454240726 785105713 918780851 208110244 794926046 779319043 330782055 422972790 766561666 464539144 795494048 186635111 707858645 554144148 550184410 201671753 421629613 688896050 931286310 696984207 991936950 362124474 768599171 460084269 517092021 190238913 771381112 653210591 853837692 301841549 935596527 871174787 289347161 340386908 184241742 233635687 367717535 679514155 307406640 653227281 481333631 193127045 509972960 479537521 235792365 812024839 107168578 391598631 793765592 869343146 636335264 558951611 143149945 998770963 133582906 298366946 798537056 862803140 859466102 967164744 805779516 456339391 797772259 902125855 149202050 890573113 246376008 281943050 897945581 889086962 989561624 616501094 357760445 688927560 427210582 617334407 557341065 263359224 103659146 568194607 516303145 963300243 719230949 505032592 971068227 625047124 554767759 913384778 545411997 427003898 111651326 592931120 927164769 261452460 556875569 265516785 372627406 942035744 280390451 551726583 909111115 750005591 222343884 600297931 233126206 170087340 683153982 839109297 323240555 626204985 498680179 950095628 726036740 713525657 255057460 705168551 624322453 785636775 194884202 445577595 118461628 322688262 616524681 706180425 374983494 984408301 899608025 320433361 278883076 785591523 649149907 606088750 898855075 703585131 957335266 199985776 216796130 288837823 700781271 279676313 524850967 777167097 404248406 740574729 616003679 320176915 976739873 702318007 653548039 848843422 627035938 419774428 195556791 392068731 225881478 498649772 964883882 972232662 235561222 901433244 185647251 778457621 555629481 634041488 500189588 179037494 535585038 381932222 350856492 111963123 321340025 333129803 280643627 475340857 387304040 415062694 532675138 227883400 819920960 898130557 118848675 200733935 447963397 792472569 625889325 304117823 997065719 300617646 390722129 621448517 544725757 707703375 267161132 660529721 712340805 912985588 135193821 421000052 810701645 230546355 950526231 947540428 947804349 736649751 399256167 542914772 674692625 816652948 422568247 346720450 897460327 368243249 389724492 535450116 906307861 397035460 659926706 871283217 397658122 255958686 496969470 385633610 212332655 775846609 198575546 648303939 109708121 357868340 596026597 946686684 938769241 476013569 403578661 868047245 312167976 348745269 500482120 925921932 184189045 452584555 127857743 519178603 899742983 362603777 284732679 258691556 773235606 966534450 793192173 687877408 101597806 409739088 935491846 354736001 307284833 512853590 271079425 903482818 341680060 945579944 362190720 811399896 511155450 404905929 316512017 609183737 954202366 349360702 540342555 491941876 728653645 452517312 369419564 414394760 499823622 820838904 952387889 314081890 450920588 636684162 653580014 327388248 716478327 817397281 176738702 619238587 312414714 993227206 462612521 743197943 914439454 723876923 811015619 207944387 275073049 427551914 843441190 620898028 646864105 437146876 997949783 696987749 284762376 413861931 514524447 181503202 328876427 940380563 172041078 498618431 131955485 732629565 926107922 742463664 620657253 773803555 329669690 396071078 345931871 942829936 639797119 772938078 944473888 188106466 272528312 306526735 955496585 712607770 371050029 416984518 449063742 507058690 941666380 420437972 846287448 211584768 894384244 146244438 152667615 469325760 853430853 756940810 619047483 256433808 865844713 380496295 714612695 581353346 578555892 475199222 154073998 136734537 151536106 540209423 407197781 320675503 955383582 879781396 713330697 129989937 575401154 913289258 256308793 810773387 265192918 245918457 928128487 381942959 961053871 442982830 606771016 173836439 568584285 992474141 295697295 379247411 588536795 266509244 397211475 737562638 676917251 233991458 174817075 169076335 703780291 648812823 395110674 308961921 181254699 223642620 399900679 780064297 915751109 145210642 896865589 349081492 677410632 760933263 713035962 609780620 873479329 359741167 815580473 708490871 883842701 545773806 398976558 684604782 388219189 351314643 766289679 241521553 845165200 105518369 523115949 231221962 591531403 741597203 870725779 302159965 368124248 106430932 207333573 974185241 303803270 644963912 959516933 408621446 426402877 914861455 557543701 153728209 824230822 492349976 858170564 330978738 559288054 291773052 775081290 865653544 656082027 628525302 229046721 727233027 487048608 485132109 242270885 366451467 394942809 525627925 749066084 688480897 373914541 920747026 233939871 100638408 228921821 168044188 921921051 913559978 645106492 344577031 304189582 832395671 958124719 666596745 685030818 241807388 658260194 273936464 665306047 859910172 596180215 950139339 130067633 453388880 634968472 252645750 166659631 707039660 313977543 173868501 451418635 145862609 665506040 424771012 365993419 376562893 925805263 806545660 207839271 494900674 866093559 496391095 685923533 780117438 936086995 453216631 816024040 819576646 322722766 290239587 993794492 184095955 948606406 122595265 526138765 845249388 742363382 898317319 545185909 646414026 198258077 759688126 926989240 721825321 339859259 843380337 476385858 556533334 924137699 101252728 621630746 675913416 469500957 852874342 591831277 852550186 234470077 506719202 843224961 203701245 178573492 661825128 175922576 810356867 592281239 620078430 987903969 824753080 569357943 910903239 112175536 555279514 702680912 809319378 810486904 821787830 457355330 824197762 166172293 211547023 440699658 677844548 812513691 212349761 755549610 898514213 685437906 688276269 265101812 242018829 788168004 718417675 521424892 171687344 999115042 863116047 902351691 356515620 856029376 263187955 306170223 474549188 291043486 713065891 279659703 212305271 125227082 412983683 776912962 101900921 257367295 232223889 237882241 631068109 243185998 737538650 304917132 529537902 655360934 421712365 628859040 242616287 978696665 869501663 431630575 158563852 571185492 914698273 292516762 937663285 637100626 743875229 230043818 347227017 698140774 331462918 209504255 586400058 252682901 365482206 550170403 729034704 291474388 943094625 620104412 468353165 883457011 631318141 214027269 941701197 599111138 466046319 712831208 958562543 741889126 653104838 299224571 147034500 301080842 679427926 726206228 502456981 161689010 785846841 189119861 677307539 915399540 352118645 739582036 867059722 460025717 656454072 227886055 349659994 240511524 111936441 159753210 800497936 828191644 327524476 205821688 766001258 627625512 111397053 379948631 681312748 543677833 361057739 649362438 120556099 471281869 736794693 438049254 717738957 423264884 657205695 568331441 290959810 734890502 460458570 420178774 111878210 497217560 117427595 894077323 323553951 886135970 755198350 431207694 303934958 788187639 832524666 630923523 572389311 920351751 807025177 192135379 807940969 199250916 169126741 368463150 996828253 758504544 853469586 566386542 760318162 746778122 531000279 865865221 659499896 155905347 882657701 233899333 445132961 808251018 581193656 818918168 214984312 354353424 134140132 585626331 450575398 605742007 469935367 636146649 154707450 340295515 517230380 266986765 915644779 381649782 698125756 466880019 713648015 538253074 713404714 393290393 864025759 512024510 373448778 486973915 651112294 621726953 557197194 679998660 305614147 669705902 520897934 132036562 278926193 570959262 506754567 961287303 549118343 697955711 965029576 438217486 868527225 551875109 607392193 758659705 814315179 121279404 399518133 594528269 482243527 935690050 927505702 518164244 139758621 866417514 831911316 956115761 650526644 951214515 519393314 744493219 733432718 149284359 893492518 424259230 505268247 943919721 762688174 100638416 619463256 581162966 143712230 344512724 183135670 629733470 586348643 650604904 495428756 990921757 244346931 540785774 435045709 708955581 341599762 588899871 929468911 898753816 860343875 816149103 553378499 812803573 468370256 739125509 581418138 891662771 759423537 618531415 455007147 240567981 830972118 891282547 254975827 480863696 735577843 129158809 691034377 361145322 282720996 510467943 665689324 992049334 902701040 795863900 281399578 639949716 994955312 377378285 803798542 393072480 616986559 223472383 723115852 123517209 139146005 595159139 356936816 921218174 606678166 159318012 444787481 424995762 744412983 524114952 760468911 256601723 841442664 277031852 756893663 737353362 512904856 908433898 683476981 415778114 305104225 688691720 673188585 828443233 502260770 243577709 184248493 466742638 973516829 234398792 653162801 257468797 527719473 393757824 268590863 282513723 256576692 874184159 624183627 635598800 961219240 431931027 612090694 597148500 914692089 466414351 232810585 806374552 417061168 118248532 369604402 848962511 754932025 626953467 643446947 789516780 109865987 483533243 245818555 763481251 547240486 634798980 349815343 290616469 568261119 310179610 833910632 124795638 861830252 592289543 159037081 101611367 890332905 942979802 781410064 480260862 741255924 925815031 718531091 202319782 782916011 502988980 141487704 968520562 478532808 259410057 955306481 514299437 348667857 920609231 216767601 440287985 272638269 913655777 103267903 101478645 942653073 829883470 255523485 942129262 603370544 350537144 189810071 808585496 427328412 822226722 541424878 818640734 777518147 291389965 532139876 875314822 517429455 558347458 614940384 322293281 226853030 583362604 716647941 289916382 396110680 972863535 261050451 608135042 184332819 193532632 265925307 613610304 320449946 608924719 689310910 802087321 464069748 100799565 805960525 501728720 511941379 226109705 800685322 878605493 282243274 485517273 744670106 733639907 239573374 664652888 663579786 285386373 716595939 431034420 710396920 659024887 381499215 760521090 340094664 489808843 227793874 768827315 956756916 668777287 577004471 354006921 683347469 817983595 436361891 816893497 379858369 406116354 911639532 729053196 745356863 953588900 213775563 314928794 471373003 347661419 584951076 244149669 778735358 460434178 705857554 458006766 904491877 857237795 563823396 488508365 920849829 286589126 891529255 706393494 951952205 343820133 776444495 240714286 963533717 164042446 643634828 291291742 620303442 657470975 715206164 621240405 551688240 281985732 409260611 170895523 990780547 521064674 659039671 993614700 381183054 711809708 107843646 377272912 169836427 312194956 989776156 706631690 107296056 493074448 872046794 393133626 802893129 807627190 131961649 245415180 154682523 452737252 540163869 364606200 695550639 741402467 700010377 245641679 549352959 411789867 518276068 792956054 123631448 280790528 797618396 904406333 228348817 794228107 297428199 382974907 456141484 978232190 866994328 238231817 390755787 441729595 256444462 654373694 976410552 458855514 743144572 729844953 109168168 502942046 728574126 977731743 869728851 798198232 463574013 418195765 608681671 795553555 250654434 960937948 377069966 490530689 936311670 780809001 786884381 343519042 425319278 305791031 379232393 304530225 236725704 486105520 328697508 795302058 242382698 690664435 428565298 589139255 122141673 378768395 558657807 431265011 540369534 672612844 108112962 981467842 496323498 766040735 750223262 427484272 354305083 310215828 431735940 936834178 148132058 471250656 466236854 859110069 377699099 559081595 227159392 522765783 949447618 744859471 154337003 821915093 959079470 751587935 297232527 889788576 528239844 858573297 123355968 907856516 419368793 474655776 304203604 223774642 527429178 794990483 752080636 839606564 187474360 257858642 328226123 559978948 790137984 523500373 454793001 447126944 489187340 911375367 225373061 375447740 409615942 799897772 189943798 706888800 271358750 241913715 905352796 171981845 875098946 997671745 594757995 755053504 736260796 336511416 160938670 461154506 311929053 678541629 752061415 719454284 802326562 288417734 138260365 750592668 432867495 562005892 502672852 159062523 178143389 429062056 833971917 804671273 721015365 752119444 935109014 751893664 878990222 644629349 752313879 396726750 481154878 898874088 789085854 892296384 559696959 489842304 892260132 632496508 848650049 634589709 393096688 867073842 411445083 402582630 177132218 153359940 690318459 799276740 825676876 337254755 144459470 165878226 919811933 831606834 807170561 719283637 684358287 472399736 545873861 882905233 331573726 464030508 707499216 322544755 882746349 905779735 730136090 920925717 714740371 447077857 398353736 773825004 855937363 520503667 950080004 477356671 619066425 591184306 708671771 608637963 615243984 460866479 404835460 959479671 228141702 535637775 892274837 625029268 204905320 441398320 926920872 785764555 442998835 868096581 507556037 766779116 234368119 257691335 854520868 798360247 593340300 551370637 636160326 266732715 246458606 499580681 394178886 352319444 383680257 542906207 797474100 181633854 875349475 454133609 442201152 136052888 293970051 876389182 564240654 659152839 293046566 815944341 991856161 253977712 722453994 506553663 794332091 209095065 969860709 436458268 215101763 368450315 155921059 658593264 375076496 391539907 853547168 501151463 454831461 840201565 973849532 123273670 843497214 694645914 432812439 209559067 454509805 136778935 341142932 429150507 836699993 512748176 196106092 946375304 600846963 858206725 675850875 104353077 185509810 466129653 303725324 126450516 999315053 760027396 304499400 218648573 601043072 658675811 493389636 313885019 153661071 157715248 533076749 233218535 628778824 197695386 481980928 584094707 263826680 438646095 484748690 542105944 592650280 400877601 630048495 254006475 492350127 119271541 653727381 191975788 938500377 771285867 447698062 364839166 722978625 595381548 190600778 123237967 800669836 871439217 321239659 540548851 283143463 419828412 749231224 104049797 307673553 976377913 462465421 884351761 769052234 492181705 303551516 267926896 928978938 393504689 625107406 194229736 263324557 812152888 129864389 207198108 356378125 983276444 133640061 763627939 796224682 384568330 457536721 152914151 235441807 672590463 950470600 425264830 321533671 885343969 899573611 436938179 119412182 173240004 261184641 815487538 423988674 877189015 799335894 967122462 334235208 940820467 946053435 667159537 807854477 493454312 645219947 519041982 535376713 747946294 684197244 474997421 280345118 578979688 974670520 615522886 878793241 387166177 969824349 348620870 505251069 191884490 161430104 974273871 343120426 987697171 907951670 593957102 564827550 215243406 842973957 933019801 885859476 174706148 210757768 939644348 761406672 354728545 240049083 870251256 381238346 683132670 388018410 484719739 275157106 857963130 649049454 273573773 674013221 286125628 628338096 972402610 886346125 476657365 806817820 655352295 293700659 439296081 276317199 650656695 508419207 282789902 499267205 506759431 550086774 428300391 330563525 326442600 691682208 737873279 911034772 813685064 235054582 724186908 728529294 978605853 202913378 521451729 253911545 868210634 747636016 382291690 425051910 105235065 459241669 778067225 512392754 273459445 371369094 275320430 585014082 907620730 839049812 131426612 302860714 152674741 340394336 580478222 363352070 916917449 387441817 388430089 435620510 286093416 301582334 131343112 376249631 279357872 673159286 179337819 444147930 583113299 759658937 469936715 514892069 321701885 300723835 372028122 262938029 414081842 945570728 728294153 266603481 926908482 661344364 823034433 110249245 157363431 993344629 593969734 463253558 425190729 505265786 340811398 656682521 319795931 605729818 974775334 108604866 941311251 848091651 194502140 724345045 665713466 797904924 443608855 367733503 620676093 587344155 807701857 188853084 869352514 959571542 969707393 328208859 100497852 122344752 429203426 364800315 743050506 256924378 665697442 941024154 409050495 408679010 660708257 732474761 997429656 442205951 812119401 742576948 369057625 297322965 810171008 698372901 834910981 206907016 490045870 511136093 243236785 818034172 754601799 499111933 597217515 378695600 347738287 758567065 818898629 641904243 117892163 289470865 760147108 521774835 916047802 507997624 434853705 542828935 893885785 959185105 131430696 811049740 116923122 280882135 135072354 386502432 468884985 197891831 936792413 350173320 169394802 744040683 355060358 933785729 549222360 894315045 318406102 468129684 203749123 328297754 964554431 649514256 888055637 173163723 928808914 149864528 779919121 925571425 710051985 759715042 723716510 981444417 442465685 812646111 608119219 427145991 359178765 815779477 506528455 379612821 355002362 981988181 166415225 140723604 734068888 263150938 284782168 546942833 389592305 569123076 694560591 463205421 727374365 486780802 911835943 145591633 955178607 144501296 255282515 813103602 945716631 907937484 406779044 175724127 493546968 152986994 427322715 934082032 178503622 446031433 961260299 893339702 733610763 194651077 194207439 782766797 266816418 995802365 841552856 158975684 291402753 725217926 422466679 805013382 374074494 703163859 231162096 414409692 615583632 888621573 374825221 185432099 937113265 725729471 252899943 646850245 505693884 339512875 100079514 531763996 162996061 375310538 663236998 553240205 908341255 643359402 515945694 162563435 538038700 803595680 483214336 792923424 225638727 792574928 812142493 312207030 796660266 887923827 923148033 779237991 203800641 400530010 363473903 251432481 677801112 407121752 603768566 857144203 877676066 463111692 106551690 676253393 960945750 206580464 387357792 764423930 143810376 525544966 476901285 106425189 450301663 406020655 265850194 858538526 940890628 119706750 419425238 378128469 938374954 815461762 289381514 688198641 602433317 731478211 763119569 621690388 161541050 794947565 488164789 458614727 726488857 779167040 157137954 660395956 552485298 515954636 970905839 867525332 417083880 440358994 289367422 383846801 339163594 190859556 689734822 846123776 921972802 569349029 422871286 966322494 360411566 938905519 330661325 749560740 672816171 805480496 574217024 233802186 369230492 379957891 566824808 539951323 150911091 163290456 504246344 301607795 221895983 742564445 660058104 794275377 137816948 973767584 642550634 742679603 686588338 150921773 741656410 924513459 711707859 387025312 563182296 534013333 396854986 290083547 173793325 163463255 443868177 935920400 282510639 377523244 124314494 849635091 180357952 977644421 450647120 801232483 509750631 360459076 687426509 783961958 423696373 469068349 512128559 339807208 305348289 577685538 154336951 776085362 295551269 614714746 904568486 975245996 483609463 440385731 890471389 617302345 563803456 873194912 303099636 639377180 283534831 804943019 997573286 559766932 574331050 505110548 316627526 903904390 878473234 153973117 134440134 792500744 187474043 845982062 203352780 939368950 263404390 850163663 664053307 296588905 323804849 664205238 187112692 803537490 612395837 470787919 930174569 515965399 604352023 642937693 780881992 172013738 176765890 347424639 350090277 589118660 843255599 678938035 508686918 880289754 276040773 690133919 770845867 775843351 398026275 702557437 681219273 520005446 209443991 429062428 188770055 429706613 412257946 466317628 681226486 691127187 886879878 403925302 620941260 439186248 545218766 132730370 139077013 198834988 974298100 891376772 881854068 690050467 793378268 232886627 873405879 467913710 406181463 995557156 496300273 551456443 366375972 742692820 619080723 356846802 337689643 626053707 745437332 927723503 168753207 274870967 138815843 404629017 732107626 522167867 110763151 893904692 762674036 938982194 587880548 124217344 807339179 477340551 722775347 164146116 250890728 708832169 796553153 227886211 211858529 148795145 654884161 604478923 741760456 993178082 187185177 427156271 381867872 279284431 378641491 626135015 254442028 171604226 157131322 117044764 958946993 491087476 185797801 748844828 384570509 896977645 783790883 565473563 964356416 475312553 593355169 125174027 730201753 710039984 787599993 613731593 757672355 157231861 340359075 297648925 358590255 305009539 171713187 841922649 898833971 224505307 189188501 907922881 159380280 954818294 784728017 877154742 135289535 215885376 831823393 213909122 626899890 630352483 170413488 320612040 821632590 659493913 706493512 252683705 354966977 618912794 755047699 459819734 918927640 706688590 556254368 160570751 474597931 963120820 207907545 161226006 117370129 724188889 434921659 299426803 559824480 422733386 985637346 653448405 963307677 451197807 990607871 231458927 754562474 329438530 102041816 563135561 108477008 458000858 644458231 640218098 636775821 930061202 538614029 751398180 998161442 527050959 108680596 673275760 485599761 257052646 463809415 498288861 890788255 785155225 180915710 433417764 363182374 831109069 759599419 323995263 326219174 472272236 181451426 738332228 296967291 350440057 695730010 185462775 985929816 508209225 895994637 429882257 529132020 618927083 715205882 172312737 152992099 534186871 300542489 988440068 595841664 645738719 627367453 278933731 538417192 974493173 992230007 729522177 949008423 925825688 898923923 129337850 235276028 123832077 118773872 340402023 276227734 527150799 130436402 351087587 709218508 723940803 737878268 608327250 630201022 320121016 355066690 787006378 785859720 597053428 720045868 763792630 542100071 540995432 819167631 461657642 462527694 531803934 114747766 439442551 462102771 157865037 254088915 528613565 740097426 554920898 137963593 237785720 568981296 201429664 748320244 650721086 195571104 416681958 260855986 107093436 607320498 122411769 407268870 141420928 992077991 669898840 937665127 452135841 504638924 793541663 709389211 339629551 456868878 374231219 904638088 785119131 813871804 845361813 168470039 792781378 855178422 877383663 392008364 625769609 215081103 125678051 824792012 454899819 382465681 505409326 220553604 300595229 154381302 259506841 423287281 628695289 625514189 857190662 830328010 549300631 550715141 251773831 468939509 472831118 168161334 566065441 690688402 828011027 290974136 359491086 985026706 312273315 374429862 520115544 852906994 585515539 363591300 677391713 802384075 511591952 762869602 483551712 250973876 131278511 541950423 415456760 821535113 505891482 714443895 754581063 960907285 683341338 704547717 733790632 573966762 821452939 961994234 844730432 159952000 402951387 755156645 103618739 629501657 962303101 460080419 816259519 611054657 416384200 889265803 479490711 889517360 460822064 276439819 271455133 630951146 913364346 765312754 998436138 321828485 615977882 614510557 213485661 745044865 168726073 966663220 437320907 346580078 403548261 131613660 150852200 574714051 865396335 266971147 793330510 961675306 221031957 751080744 198066245 235943974 995242987 912454920 383472471 574169118 798151416 935422926 377109452 903884607 949941818 705485186 356562791 455665609 799871965 225306438 284426484 107758139 565684747 186619400 730399312 443438452 807572154 173535740 687573254 838357695 535694947 819736330 383631313 512822019 804608933 283304814 819070715 677828542 263046012 444776792 547479218 368006028 647040223 625992931 144783269 696421394 113028103 850093989 351329395 506827163 291259130 394484993 297058320 551466651 795994491 786280344 382528091 657312110 904291949 898236336 354074673 743352033 107179603 184587822 950975141 117559858 249282013 848829563 457438156 794397605 110508071 608198282 952024967 552625905 327809521 822461877 981624661 615780816 833120094 785034047 877252752 240306386 712434268 143304164 491544910 770335902 905880491 963085724 839151548 544453296 528681259 835234183 902235408 636391997 251376846 716522063 284786529 119209255 590629767 623070292 500910874 648133106 231357054 334963143 134248478 489941733 296254386 392924088 813606978 930830804 701762966 485876220 737683126 541008096 873704392 654814912 207448157 308211184 987937190 816457301 397385968 183895097 968945084 911206661 713547368 508926196 980254964 967249272 365560819 243428943 163148260 723611409 184280047 620541271 657608763 720798808 848629855 516893734 899785857 475106478 746354960 536838207 403364337 554094724 433808377 774776393 713421522 253661237 442645539 996223575 978155016 878232580 686253031 311057499 652720291 587646862 475878129 336407002 870839458 106784329 188205892 729940738 965110816 970015270 198393045 393685289 655458678 925570789 976007893 915499674 315317923 473427284 353564986 141228551 585565732 559250471 393168059 744569490 234238296 210192561 776345223 931680320 280219261 356447621 166093379 392116900 393838202 361487872 732944282 562583143 302745973 702173862 741721818 883756438 519373155 761581187 617110915 523706335 609780797 970780266 795187818 938212071 999551022 563939556 417251462 850368526 248417383 700830888 390854656 402640229 178020410 122918776 297358325 900922104 585322680 572005964 935166130 365776228 238989645 606590004 333909743 788350634 934225919 680174513 223203409 649065637 322408791 212716968 728447390 907984364 496757214 272692936 970625257 297373103 237750160 692215615 263184952 162736136 938810176 926372779 960551876 817225218 732632212 426175434 364343840 560868464 115115296 432729750 305001963 983131726 774153806 604211921 278175802 545630550 946732954 991608132 169470977 779867230 838763755 750479357 437465889 574582976 773437101 922360795 278667518 931182892 559902517 897595658 539022560 596790585 105524549 375826330 541725150 900926539 692854083 309010315 596851092 301509982 171363853 662995090 763986456 595186337 909668216 817870099 947979944 632662038 375225344 173313815 524531322 351087028 251294533 350394462 924959761 545103743 219344311 154528322 714265343 275401253 558473595 623138477 557156450 738399154 549847968 352482239 848020579 606117242 922699380 753394269 281307925 701087602 735885438 828559165 258571596 524115308 216504458 603607061 634158122 762743972 190715922 276448412 312717335 698564126 798262153 856407228 908086760 518748963 119424258 965161420 878055582 672332171 820488668 892574839 413554787 537685108 432574928 709121916 547029362 770798865 757319716 817529422 492708311 231124678 114725328 981742608 463371727 555784843 118649061 198845896 533864028 453784692 585629464 726060878 819345769 736026951 905717480 666302713 866098522 400673256 367722908 204414078 372181796 649836446 921228453 491541856 746811455 902197851 137444358 943758752 407730185 992252063 376213046 677890172 885053516 774475979 741643430 342442129 504260753 510668309 486839336 806292392 894184008 594043151 242734429 323879834 377752397 514384737 765682689 848623708 795216097 874778344 475469769 850342833 278137253 122628438 197021128 971323917 543889720 829815508 664144569 301335339 203139007 938014581 840806806 921870575 253750261 885791584 470341012 513842883 325813052 787517704 381620756 136247987 289276598 406165708 401195219 593139200 579042975 450769847 402662468 295894905 470691452 425507414 985271195 245687904 726973085 234058903 388162023 191305293 150324757 870893108 666936512 565158268 859652798 730423020 373801766 262284115 729981550 997499621 355815462 206070437 997678545 284302170 757973943 930845643 381086422 688866794 714612780 474332191 468467585 902201133 180918669 729097422 470383689 200923879 869055893 704161600 657736680 441487880 244279565 653733047 643770219 579017816 409353279 683409488 427601719 225393708 960799979 310983325 770923385 415571188 476478504 304607918 575411499 648392077 311503395 145144553 179384752 668145774 894568343 247251093 859378577 825925579 515073327 781538112 122448651 660118178 652782544 938267100 891986322 860445220 959467754 743038290 716282695 658408377 822926769 937318919 634799847 360909778 455161576 484119859 446804692 143355730 781761886 537762459 381332661 881296337 391173662 651163132 652882550 904941211 389620582 896096114 658698103 427990182 331739541 902597847 202127579 607570185 143478494 392751246 754999770 937560362 713706787 337014933 848694002 652653834 342859415 870430329 104392574 366824016 514135446 541261385 199725239 476520234 245257575 676104313 339745623 154720595 505164351 944586158 813708333 762548919 562975258 824104763 532827155 625063490 834381220 572523329 986470279 389780025 976733228 420095403 413857376 537362222 417334721 685200063 977348638 432823530 713347283 926128802 337500529 977291258 716159132 273929521 791933779 145912372 886334183 892146090 155044437 576522779 734808854 994541020 954510494 685981335 807160218 628798185 456752130 220548707 681943444 505072297 720101799 225046672 244185960 156607589 339738060 530755986 839648168 608884202 525836709 131949102 944530322 762534725 937202748 668112457 386098360 568023535 761990944 256691017 542304920 879563296 740794209 153689678 975750375 541342530 761552024 144249458 751065574 863484308 168309049 303635050 159947484 228179442 119546455 660840670 410373964 755273988 303739906 291439524 619248053 510890500 277212985 725724088 985995193 612539772 837023350 251691279 740088173 746991839 922171925 430363656 952814221 268305423 469122353 814478016 709518647 151750759 383211640 295350331 676996387 792722739 273098813 401350374 188591178 319552390 501387861 538561776 754592052 345927230 763236618 778244408 491914080 604201856 507209731 169363598 151627914 229722867 757012333 332230811 973165811 285031672 970914374 843190668 604464460 507761811 634301924 310549634 377359385 361283993 892025190 477396169 750221359 777888390 493369312 409809626 582199143 971036927 800588008 165982381 493123014 867371671 728228094 705563054 393540104 204363785 368898858 909325908 309739339 320844943 591521681 282460673 963778115 577801823 750308813 124031429 552432393 609790790 976951888 274790420 255641161 523241307 930578769 453398941 705380375 780685271 865143458 826064587 311956712 258338875 387756160 921163760 928884326 576775689 627117155 900077308 533751857 234427902 885992488 777433283 475720694 940612094 844805921 417063209 786273178 572998634 504943983 353213160 764369644 280732729 492565431 611002386 580837656 977381618 467791183 316017731 851595885 328928682 147942689 266631876 378180083 428274679 628932159 543128958 232948022 777490491 855683803 772011315 120974009 960792435 425438835 727130370 870071447 570290433 529589884 534897873 677002811 203561559 860076471 208425915 286487789 869023003 182874633 376159907 557508478 145864660 892479128 173430714 609656427 937911647 951008190 624478802 833137986 165738758 219577463 565947867 363165432 955983641 841659391 952832333 402675675 939609931 455521247 926402467 733087044 563245228 441074204 749411230 394486258 314319537 392819669 232569459 179771122 857769090 237214376 727085618 651882608 764700227 645202342 243191372 413297856 748645876 477527118 980994141 524605474 683331772 533467310 241706706 953097442 339127878 451815190 203733411 765623318 352977173 358311484 209858269 402291376 881293238 353978546 881215861 847152351 778895863 376564339 221910778 309745376 709609024 842799623 142242081 713035977 792509073 414583299 545510864 122326392 878321391 214799144 733503960 676423080 786327132 115172899 232984751 449944338 511353215 251575917 717656360 678503946 227901157 512206074 584567573 874419743 673990908 243742844 310255217 188382780 696185734 570818508 596685467 999268512 863872310 968467008 835833753 185403194 528775392 661365141 881567221 528905122 512804215 165642746 192870507 934051451 682502156 323992906 644409334 381067047 206438483 506626696 993271692 672351957 362351520 475762730 647541797 455686927 877380066 253823173 337360552 213232278 709162491 623365511 681844852 324157876 918767675 779535937 130374625 711825140 293891371 450786053 582219573 747469729 629554770 825043005 275429676 121070027 298257388 417096484 330679588 167479666 275816243 985542770 623482858 527785106 803937420 350355777 400910867 944349888 343253798 460286002 614284086 982565077 662196556 520945285 454772024 537686102 349401058 146785778 495227512 514617251 648235390 340959346 194104574 872966103 114186041 311907304 922622081 349053828 931087117 161634504 317983973 579856396 238900097 919555404 863170931 296895576 119352986 321849544 318627765 371636642 854624293 489403723 211114368 348868269 221441061 529019057 818718070 605743698 550804754 114398568 700942204 878835684 321440593 823833346 694224727 496655842 757769542 665117732 432842797 618263439 841261376 718331451 672488585 234270915 877755711 341989953 401774981 479594802 616868679 500745268 708940641 578926861 789391954 514922329 205222053 406654884 323986733 601363239 324905654 659253005 163365797 749646762 656270231 139204036 935303246 116603337 241542083 315606172 504038624 715997338 316373459 453511068 468618610 527607391 855880571 948929551 566471559 183332784 213660442 119614768 146421877 741345976 227217462 950893520 203338796 967869720 623062827 210212678 253679376 344271428 303325907 519991608 680177253 259683122 891119887 654417153 625740399 533316596 270986845 780216224 370754914 311804266 259805927 976555640 381707822 236186060 816364964 368205546 612748343 271133897 684956220 200157938 413522724 871111726 124046235 841907511 143021582 521757113 863249074 761613856 570548186 816809123 953820032 599924689 623242574 150468174 104085289 619680289 245118521 775558098 316057363 615351757 816593573 230936868 772012044 520213997 243705757 868468106 613562951 969017711 415564636 616865176 791364792 867062949 501099571 397004562 447268004 320070442 344589575 309797738 479063365 213293676 443507554 842310944 156019111 431711744 323285675 771577637 850461556 478619556 924544898 838081960 184976103 396587796 464510578 902121351 269147023 160144928 923952411 560926392 300169520 151492456 472640398 599621811 515759625 152372599 938415214 801094698 799316764 689312776 462224696 450441982 172436942 999120985 638797479 300149327 751840212 870693961 113431095 343631575 804844552 814864528 642447189 116972950 694081293 878654254 817852007 913758458 179908644 967265814 988405015 476118602 257742878 181020305 473026812 738231822 941919124 896296991 391136693 870965938 459832187 866000559 294877337 771108688 997419767 997019925 737138355 462367861 868944919 940947955 681472840 515921773 683648793 813559538 215958026 129649829 295235187 658159831 653076174 613806012 792934002 375968169 856817323 845945405 889253233 524661197 289399615 928039090 589500369 370055274 350032967 429447763 192600389 761874956 472067163 129513311 223137021 667450863 796182112 571554404 254110906 198114545 701161194 391562688 160035135 876629933 218341756 308654962 936657460 592321623 164956096 503578577 781463292 557114021 980373666 778352151 580385157 235840339 590053536 839002145 755445129 360608985 973749485 872331655 310429176 171550131 374760491 394006213 626368020 796250668 853771435 283233367 566422169 745982474 808908873 211806895 374085068 843582808 651728092 187531768 895438227 152726671 831760409 675236640 528228050 142436971 538503158 957947687 423485186 889550973 768048600 465995933 839713898 690749276 159276377 384207604 541001416 632944256 238270072 540042037 512339680 907878027 332553934 269728100 122607366 817546650 270279362 196321599 101885636 879232025 466539720 405505477 804999217 573254242 801166390 385804841 190448667 237872303 333890077 842191743 779313070 880246980 257788386 876610951 560702649 684525129 921154554 270322007 391301394 895372789 191361945 176261270 516168292 812183370 604182257 990094401 272853735 250504477 719562750 859701183 973114133 618936270 425263596 152650010 951928942 344448450 794976310 521027262 277804228 452541859 359818049 774080017 408300270 158669664 561511312 362181245 798730021 760166210 882523622 316228657 499195781 174597377 944783323 967747193 503073266 870358961 983037107 971097551 227117664 913680543 589034255 223825656 811129323 120269379 669550611 243546768 310100582 134276148 752391107 476796044 448075173 909429122 666563568 424451664 968732733 483099316 221677572 481277074 558848786 396237307 421754040 516193312 197133759 904618456 322205388 107052403 755169663 737402343 950093633 343396761 786370463 463872001 546950668 817274235 445773332 647416998 694878033 589615899 147123699 434926973 506808675 350448410 969189283 716626616 957357042 977133152 766660321 756254039 536946113 888323877 908474608 791709905 264598112 976182851 555841269 923746117 125543866 162968724 741413632 643613446 881568636 833036521 777072997 694404949 728388270 968378674 180305309 383688306 504452406 161085652 952703170 215668850 728748138 851288473 747438278 281042845 169148201 231710313 938532568 969607251 356693263 539488289 132787118 238629237 396418905 223718393 429092860 200780277 511268255 605533111 171821008 580074221 224316599 937166476 982770852 738099916 455386629 467407030 621202790 543453905 830368927 758220586 629167042 580916016 886724287 304327356 223649702 493267922 513135300 210382433 743370634 895995713 619498223 944082980 137955437 605869500 532209547 779842475 598608498 248245949 186268044 544283242 747631316 647194980 273700918 536013014 827792996 470084969 795327753 578545286 795494505 265629772 125120987 221761269 355880167 715674127 262630624 637121361 293993124 369198560 705552825 499139236 981457743 922768541 245284006 220951298 217707731 280778929 237308181 324404030 537376858 502830129 375675927 695902790 863674746 389794882 499012245 174457577 818186124 761160346 548505940 584327948 463562264 981047004 542847288 348997977 428619239 428959049 214991489 830430479 705048954 542214609 693030520 153789241 552385241 777346005 717994253 235877051 900371217 116082036 852150315 801353164 770475980 607971923 477269791 504247531 782873982 482878084 684863571 796893601 679293215 875129963 123982749 265422571 965844292 900553662 854103558 436883822 699549111 893760368 775317334 667826747 932728961 128864526 114026236 760541360 732278814 560717939 398690723 445526051 243359774 363460119 430360092 852627323 716264879 216431125 663798654 844422139 623485625 134140291 991909591 412504138 692758236 697828227 217019375 186147757 354288040 383110749 924355152 291873181 439860023 436203447 335417318 932096038 480798407 735413799 616497223 178087934 745418138 414466771 277208131 132200868 837197769 703354516 315830581 174222050 858095345 140681242 318356886 435495389 990263855 104247638 738952347 191337026 348476594 300325649 736129046 247891572 475108215 167708535 357841966 655182187 606908318 192988748 521622908 862256801 684233873 929289360 580451721 680333692 316648955 849682118 229066126 536891234 359673935 665727186 663815560 592716512 749072032 898117422 683628545 573193818 464356886 361294343 843080871 159850833 853304947 280676100 667367509 525782359 461080989 875965258 303235417 512654581 404099144 829924420 705784114 658026419 797330576 779753906 488047672 131052718 815084671 518190792 522134513 995231355 620575759 459137732 351282539 947333513 774801905 895198534 727108449 855060025 205798903 880878691 230870010 838454243 586519828 104336564 348581162 416348210 785208833 798300181 170715801 597136861 705764654 238246870 163569233 285310307 703617429 933656789 241837846 287458809 804993896 695351299 937113718 496063256 372827174 544208749 787966569 360606592 564389598 285375552 657395742 166604767 935674154 885911456 621159418 809510773 705396122 836575211 902775051 112870062 183659881 655444897 489957214 440606652 516320476 398797144 726925323 256707284 574072877 193238652 597261906 682272839 463135941 560999861 276577693 614739073 513785299 452986830 294149321 347604441 182280048 228895810 798754151 672760836 228516031 459412331 416847789 575081062 849889704 414289955 683644649 424424306 653624075 323774995 859025174 567585496 752504557 189986304 832761409 172953864 297619692 868298170 280542127 833428884 821861143 774834520 208617078 989913869 816957864 577156639 196964170 537750800 451220630 833632405 129814576 218783865 748727906 620373035 198562984 721374772 469172469 415646345 283752880 233760072 809203287 861143506 474022028 104727372 999779119 667141985 209812198 527490103 166128364 394330410 125005618 774988779 649692864 450848550 952719406 696705331 813895342 630041273 807825877 329792152 158475677 157150979 172507247 589509109 561211678 446691211 414078588 990487938 488708338 640758984 721902959 598112365 376136126 348136417 320247091 980367257 217454848 699467477 334354854 577373915 693599293 430714192 606455853 679668176 101361882 645435010 106313285 293317772 355378394 424723482 166407729 182972477 225285558 801419016 456376744 592022783 847630339 857546153 169329001 602215516 784837176 770914594 876927845 383495192 791879373 212703567 735591118 627874373 907535961 630836834 275187010 721480811 434538412 434758624 330270864 741702207 869295220 171355589 612795976 996480011 272353448 844210095 519972590 297236544 686338265 591188979 474940214 719602135 749987297 461945131 575563483 656810707 254927279 305062127 523910276 375131231 303464125 899332218 971428126 254278268 234116789 190764683 198190737 661003400 552363397 523835773 739610383 672583979 732924286 483190128 966045369 942441273 851115194 787356131 193716132 262518979 560431042 879221915 611220629 191747442 317910916 453542223 675939607 929256286 226938352 222865984 184173416 644740348 862893935 619290386 801753139 341621218 912429738 820698616 348540373 653114328 107134150 772213069 628126472 735881341 287665189 976933584 393895082 227906341 755460393 914215082 880612203 599788954 962793255 994025455 959602274 799094316 667681370 685074420 618389223 777782860 460496480 590650467 817032230 299329575 364159553 120526644 130992409 147781399 364673396 724147592 945129009 519614163 434850149 122132647 422181394 563931940 210150740 151385064 573537598 735353605 182465783 402854173 315963036 335574863 625869822 545903135 644053100 655511957 135750440 355492717 388724530 468884835 136675667 123627279 572062322 320940408 639839623 320537140 564736222 961705191 476863388 512755765 948127085 938999274 419257073 663167949 201345465 575561014 301106321 646903401 184354206 389894059 487019560 844305492 500195390 537904234 242943406 616855431 822127572 206162491 559900062 160714579 671859226 990422497 126975200 762369953 349407883 545707090 951895833 102155172 946265470 752656080 207786710 951747587 577369862 977895567 701789308 156023499 882893126 421115965 346751742 574321739 953963280 168665504 717019558 568359273 411815698 804446637 323043740 172864342 999636212 848200410 842001816 211023342 536166880 988604743 777242753 823074575 858330415 861718222 860831873 439107305 173404559 995223274 485764860 541679477 671429994 492842394 549446925 195690318 671770805 771844631 820589719 126439219 207120588 868582688 266997916 314077720 164708929 327923614 523778161 174750990 393283710 966373133 818760651 434525450 758924743 345512811 504192977 879416326 440663699 835370275 969193357 182086934 927260767 443007917 470312940 593731782 869573479 616404474 822198320 186398516 655607301 373892210 128883874 908936426 590533666 512976984 219078209 251758140 842327644 688081738 335234635 877263435 164643582 718419431 416310320 500685632 404536345 973820493 675024130 636870679 185171214 973174518 953120138 188993706 599968278 283478557 393892387 793230970 478519961 327512358 568298935 872198759 688708056 817898103 708617065 349588871 617832482 152297311 752508286 414288155 223691531 248501353 718670729 376365785 415370210 797834378 303858127 852599981 957762530 891186498 317931729 561066880 524634995 464411210 555070249 681537064 681165028 948410849 280132439 591242274 997137533 331438580 240917912 283996810 756896707 569686022 455493576 360481765 875356040 486296827 295409047 314802369 701652621 282318695 451258026 140899963 753747436 983213095 500707792 389721078 741003161 544821535 544741363 100579498 542103864 620051182 524235074 976201900 851234018 606449149 756112837 963785410 305235228 132416317 277632459 863577763 143656722 433725056 990498637 438782101 319550481 653842698 528448863 268421053 276697713 136460695 545743330 240093372 953845922 685091845 737591930 645874347 826671090 336279819 128471575 509800305 552856729 879355339 233800098 505650577 907315581 994403298 761345604 900772197 737858679 265943474 962698282 623782474 465126104 865967142 892583917 428881360 723366754 307807570 372369684 606730829 579520063 163602365 662718638 356569725 763159136 268603708 457459649 161568355 338550015 260398037 360469405 760938174 993175003 755408337 852282560 834939852 568614976 180717026 266570356 527992463 922929797 891182778 652763542 892313242 543227952 868330103 731101158 332129953 699647980 328939819 422960781 318174299 355105797 313466511 344177912 364732188 859006194 313838416 124580585 819371814 508736591 435845807 426770716 627355525 603885295 738586748 737530014 660414380 423648554 754224874 820764181 308395271 271466275 290691925 367756156 882801379 629397193 281332229 187219690 814723198 565002940 669733039 283574464 817962582 231425702 967535626 701726578 447604358 807043316 889274002 169424322 909988615 319332014 173157821 951340166 695119334 766050228 951431909 116598881 148808988 871229197 398412244 906368473 514950303 776439509 906261330 463094686 375366371 896362079 303434084 764327866 398407985 160815753 289629682 714848545 969814003 932991661 469510212 932761972 767803011 573752701 113339190 192005481 620339602 523706281 437858249 139857592 552196005 450385230 706374823 676721153 169891243 953440092 964248477 147517038 854338107 171595282 101791285 594309026 660995392 536635314 738306646 124898108 113735198 936147132 599239955 245090368 755140398 210012996 444096825 286174323 387133597 773785499 515025120 152506406 760955331 240894549 886295775 496968729 743816862 838954295 656302530 698963338 220016703 105859859 234032084 397083202 952631414 307803168 216605521 929862370 709659349 818240868 185079930 225325651 427574734 614487331 911469309 363060090 280413917 212794317 555007614 335887854 672864014 732051534 331502419 202064002 314046073 192408405 567172929 503022351 837612546 655281667 266278067 472455357 888897385 429694930 747726880 311158852 347586581 786741108 417437227 935553326 266266677 257692158 894573485 671821359 936324813 452973761 520240055 984917066 801785179 631782996 384589771 397337735 294013286 526378972 226093567 414579297 574091348 776052507 318976204 104954885 511929273 288702619 788920990 793646259 349031119 688124778 961325626 891910229 835543137 907397957 587043627 987786779 737008863 604335725 635861362 977659492 387568564 534379537 455449018 966407724 832100668 692824082 909300880 440546618 787713068 543845105 556796792 239536477 404872278 260096492 337002650 665962664 387635630 671770377 638028679 947482843 538017031 140450817 272836751 724073499 276535151 637265219 719585025 893931202 969767208 961001473 712213514 918721127 974862737 710407242 747416743 676746024 268175924 678279509 883545343 338798704 976076052 403233120 588499487 371419092 677306603 796250227 778200379 411718891 466416519 397295987 296530805 185010022 413859011 546228863 665522446 505843765 114447851 786857145 971255897 584732447 781967220 546314155 771430623 510944814 511345383 592152951 382948212 208523140 153244791 690884194 444242923 994059879 808075536 466417905 265332258 828518360 949366385 651442357 699478815 479696496 471542305 124748938 209515241 661533262 495395500 690078842 360251477 488025664 132106683 794798030 974691711 615266454 185930351 352097101 432299795 395240527 317114171 784859097 600804036 605844649 893440953 962798979 210589021 890335089 317545854 901910215 640734987 300217688 387612338 891325540 939287010 979380162 306266163 789986131 392908751 914945164 174586774 150139403 646294186 551840773 635379231 649637544 477533745 138702110 457438947 598749633 606519345 911110170 626959978 122946649 483062189 973037652 124454166 518740487 381212820 926122041 387947290 324160537 587417516 467309830 956827558 433388389 947437868 557413537 359768528 795728645 222295922 463653679 600759214 814014768 851151113 195750269 807161220 205960011 210338975 470921931 431617970 255044148 137176125 540474128 590188291 617587909 428457513 784236517 764066489 553635269 182784752 507204521 908365663 155523869 272692662 899259097 393879780 817640769 662379987 770254368 197652054 468585941 255495426 713525553 519258687 753786572 590375757 152797776 812712336 190275882 220139616 590174689 911035380 974098936 482686833 846789054 361253826 206809378 969355889 684302785 128032524 465481339 583098500 293101150 275130216 980312306 684837082 790065527 507769930 395403593 301486447 820228520 791946545 644150513 929543007 394973133 526978463 850501612 961364198 516213790 554091114 524918241 360385202 224958290 792229008 710897066 297537861 130142387 548429124 299611240 809415886 587142931 231086010 457062796 112514060 418951891 860633136 260639710 820767884 782968837 727981440 727912183 237977251 750693629 294227590 161152417 195334003 966067672 173827414 749402252 301341902 452452051 908441538 811048928 226879810 831585341 272981210 635750686 177444836 685675255 563351764 879950129 398300414 718191982 134218875 207593134 537504317 896600372 310640971 238146373 201135527 290865063 780845152 662286131 971803509 541005734 629467320 155893105 247080794 760417782 331831531 422020813 534656415 429925319 216077490 388609730 688811538 156929905 791288838 732415312 992420408 825825711 694507108 746552128 791093234 929730777 633244716 467396306 906535412 125212406 842584166 615717785 426279656 472961620 311145703 339471834 458897816 876447318 642464972 370395010 584496539 622479840 779126312 674114751 978436230 685921643 593256409 378617946 422312044 132194276 968692584 202691264 627726796 556127956 708726621 624682767 599703781 229374517 133619094 571812551 880973960 583118635 168480914 214641143 514906140 548160380 164721692 654288522 825074633 373462256 351785377 161107784 953143764 779873756 514047879 966673650 251101704 428974035 462903095 395068676 766721628 513945499 329842347 747062148 474581576 802138889 410675552 741637879 681000040 662915584 784369446 738257140 674732160 834503398 620291597 774176776 569382105 300429082 416207841 420731425 663881843 580605835 380265673 408260444 662426801 251152148 475933726 321576211 816805704 465443009 782830892 628694616 206197662 631063240 513252645 724728143 136706990 462351966 843625025 154337947 368808769 270253822 620341438 666507980 251902268 285569524 849635320 561419418 963636990 221654435 858668722 738253071 259840317 291336596 500467767 609442045 627043430 982061425 209236148 378175606 744720499 803088814 380771968 912748249 845384277 434639172 602135955 150545171 667155832 697517118 156250613 290792566 688414468 957447711 224800611 199332841 563270367 768441348 696581991 661153617 877435595 176302964 972428313 421011771 159131085 170578791 487217241 320729471 983497423 576196313 742437295 690093608 214319798 681107290 141887936 355985652 402610736 204214274 162322513 660440298 979067741 159970448 974410743 681524939 516100836 223551459 554624383 727083436 839644351 393023015 315258639 116736985 128847291 829902220 113877998 544748313 558332165 728732461 362329580 589426719 296249165 388621586 817659880 740718546 106064462 171423910 196504910 570842050 213856014 439940748 404016154 202968780 611211441 644871185 888802336 673871941 708720432 603196156 217275580 361043082 479996839 805665902 217128546 942840959 748852797 111046596 299853146 595439047 810783590 908700449 587859641 864968993 358304349 718543115 187058040 399288877 775285730 494734579 830930926 822339471 736461482 380087285 312026368 590357586 751560975 968854893 184099853 257649675 356302062 215935390 842114552 736917726 851350401 356197108 469056340 239967948 561485441 619298819 941009252 690560143 451755755 957620284 511930948 578535765 788124902 149426529 813711695 377101704 305264274 900843108 690217074 927169111 742204337 283861799 560228907 337357669 108596878 118892736 485623043 729852687 964325213 672350247 260027723 939336410 564854190 597674268 623767191 551760243 649475595 848037159 966909075 856457034 374967596 713065481 859330136 196594224 684474408 159144082 394804962 269601284 975731332 128992819 983215978 798292521 190365152 112485181 389469916 525107414 752735057 115020848 239529299 414837914 705124882 179248247 975188599 102587779 521888773 844451692 930355004 448495183 135217665 711384685 594977147 192248022 692257664 248788147 273029767 961775189 660459361 650377296 655486960 791730482 319777903 147017144 926851772 506516812 710009654 415522207 509206598 822509115 434546358 403490388 262235928 559669042 817641820 165926612 218697053 225880865 133480916 375864818 486451846 411558456 278611619 939515254 891741087 130094747 601139946 751680589 637356715 870055572 348074925 620430092 996110709 932362885 923377864 649654693 149554573 111100785 465269038 970491067 216121905 327207059 307157682 173277318 264426984 990355152 364685793 278856893 731985137 763567275 197807221 881853261 568462704 666916962 383919759 441637446 732446923 624341394 529825712 318670733 337367623 607327825 504704966 400593793 912083185 820676236 626488474 353231203 451454308 115471706 696911192 271849299 380317682 891270484 262324196 970565858 462868895 876173088 862056354 235910917 513844269 274151033 818882681 699219191 606620264 531608627 318564809 852076540 473092060 567970682 676062984 217759884 369197353 935167921 424601878 276736229 443382426 893027648 301616926 338066435 183001033 504864988 985342821 654778962 878201757 686985805 211743045 922668650 865635527 906862669 758314625 464815275 779770572 160111634 992550343 101064862 913318311 372827704 711123829 972301884 436129361 924005597 250955819 857000083 648281632 970420972 708256288 226289056 898714062 299938106 949161923 904374341 412945996 930335862 806076233 969800672 142249560 873948932 662284174 369509700 817672863 754194539 677899122 335667041 675342484 382787987 636814669 307815395 501504663 955517656 182093076 424419260 649826686 908216313 505460175 223876499 182852519 493378255 908280131 354760717 370525681 452487453 181362320 661687855 404584271 328546419 698589900 252678874 690061073 254819515 791445605 475577767 930592227 951919897 986525655 917240903 722369333 335573692 671595940 274001274 210736377 917380305 906204068 972618537 847966036 569369114 953623461 954257368 259375200 692959589 292640570 463368898 213796935 853359359 432764274 622643048 797730875 575930430 881084686 725025160 136892631 864544948 838508110 950518161 803797644 438310577 599002123 365690397 526787347 302194007 342927834 536034620 111677116 427359860 342462207 810791922 322023024 490961089 449479549 322929186 450069853 441141291 649832513 381247021 926928009 963716548 324388448 343179893 359350970 542184819 398387839 257968265 231647938 240387011 979264253 613414065 186852997 576442506 461727395 954112115 215945370 212048482 980956975 454101572 126194430 279203510 870473582 134757595 604942169 977604824 947894980 213749207 219304994 545072631 112577096 349377382 363901944 262540663 896328842 910190650 591148420 537921872 839463744 683271694 742344971 635583185 186051593 930854152 726598667 234719266 898112750 501159197 110069353 234165780 414424503 468801421 680803803 396442385 536784268 198855986 155513466 659140777 631064815 235316753 757108629 114569717 424589261 223327622 328746720 348431673 630411145 761140896 672785593 889017787 755847893 529041035 179663888 721193569 891690083 743984091 539933493 389302903 378637654 131250686 332383671 232196909 886125758 805432350 796120784 713608543 914791287 117643421 535114127 318109372 649577413 575678180 876222402 673144553 686031094 186277054 391150895 443515890 234365838 142624733 276882310 450138980 548135659 475454356 814234211 583040045 822450360 183688811 875680151 217457427 512014477 452409053 809668807 880402236 395210414 491571450 211211857 471123080 558492300 583329803 190982081 207382111 358249470 402451169 653023144 299509655 984601548 326140697 611947654 573113685 915639364 360630964 748290347 814867988 506126499 426901039 691974042 935619464 940558262 822081320 999433375 550755601 857883617 212163055 641672100 462836030 833598729 541856371 562254917 564692847 879074076 196188608 677149025 370699589 224993688 977994263 828784006 668077134 309169514 982721500 831189234 708052444 118648823 183289597 848086059 110479342 273602488 950236365 774684056 493053546 579917640 925291610 572801652 570323799 843590652 485899586 250512622 388607249 881784741 830298391 954085873 477805204 610628974 473409048 868636413 214559345 232151087 546810708 841733144 326141157 868941391 375233517 797937442 855979095 745134714 427192725 808507073 123235655 102844430 160538571 853485364 937635628 189817429 393687504 674686976 353491556 351269032 566094131 578009988 975517062 811503451 610741919 311417396 738158298 680230795 298533835 923198559 820589818 198178611 678536561 208910256 337032061 143803018 595951076 519179476 628809173 937535733 247321089 641643897 756033182 488765241 324439257 643570741 931491120 780692448 832516202 779423458 734533708 513660678 961077437 827302001 407582146 279255834 146061890 729805792 956291592 987502207 772197034 919479615 813984874 159576839 573197175 222170578 355818914 710520807 400125301 188415887 338345821 543909655 671037017 962977792 188101129 884267453 400935458 179512503 730490697 614327399 752966526 790023865 703271039 278789630 174649440 199332065 972552122 147904299 490317818 577645727 526207451 864697240 639806969 166428729 158025123 844905522 332534825 854478733 124370101 303974808 258169054 217576916 693575709 198553619 698902135 737679033 501248422 876639121 700905573 549926007 150544315 663612735 588553735 327963043 650642233 613093558 599741169 130636690 872137613 484127335 850148296 671197577 379548695 927175523 668273351 249244255 273288432 187733279 128412218 885382741 355541919 547943670 353737523 964407897 881162476 742833193 617713743 962259089 439213605 843998726 863599294 796230844 730738424 671726683 366711752 528440972 256136049 415321432 503510275 243351632 199063109 231167788 814120783 872275685 147438413 592774221 755083874 813974766 479843294 748702030 581451015 222378566 393835924 976425434 533158640 293855603 827441626 947965680 258683173 472508578 579654872 173953597 148727463 469024564 653509879 173109335 844959416 594488336 199614203 314282916 395013660 427944369 725961653 598877118 695197833 192745721 380154787 583058249 325189604 561512155 627350484 103285707 971797354 842684813 809580886 460969166 324470229 452748898 773155032 648669120 133357516 316286585 258620421 495984338 110574330 145494810 178689968 577880278 426307180 704672682 542508276 201297491 186619371 215351942 266980159 725295185 987628108 101175295 689943137 486883519 884272895 794586010 651152002 185188089 635513522 922394493 608060483 404077707 642659116 500163093 625729814 575284784 752639381 177659809 226193166 939638685 309115165 987694396 533132676 480746413 896149605 966378266 345124196 862069738 875297452 308560611 883673592 862764867 822133046 940051758 825046966 690740342 993922548 343953813 518296579 238800488 252458138 301833876 329553702 554096192 175747507 193368568 190575195 352823954 551063804 390025610 264825314 818490206 413221708 690553956 895058356 646622148 468694033 631299430 312914966 505685140 543567271 626027340 482664971 276741657 543000769 671214582 243065662 325217697 450092703 478165507 423164056 233927858 695858905 529086153 923161508 992855859 321430906 707304001 225362233 662283094 981058738 968038382 521720898 426692473 726052186 984769805 293021182 599378949 226230763 920425565 552566912 715036816 729897233 595652814 829703609 963307100 811321649 289243018 530728813 740336242 440048526 247229503 612157490 923306628 381732994 871093551 462294763 116436678 227421223 769372166 402243158 819487733 636019402 406360707 791869328 978746445 294115185 535969391 111586222 282229925 650014707 376342834 886873595 701810591 665329960 805613313 170532435 339814314 834410151 181160872 473423751 773722803 251847072 396584228 606868771 218172193 500285194 688579810 394163090 998750686 758353009 701421682 928104703 344893669 303104540 867775253 769832531 952973033 550135492 885582635 879028904 322518399 541682921 668437697 460799755 661218200 558253895 651038500 919433287 153538580 312854879 676677143 187690314 104609994 742550953 429791904 596573620 147678126 817279392 255638328 194798223 889403580 935677662 620793754 285830884 326606489 297955584 415684984 911821942 210700763 253040443 931777911 425340025 711030769 653410033 337887743 792033072 969145391 451508721 888673449 677716551 591627977 251666318 221087561 105541748 171234730 162779892 248499364 677321055 824048841 870933998 450578484 734367226 563283002 923597436 242768483 133976601 178116503 824803806 134798993 906136570 650629486 608039904 613349567 799395249 398982180 685265288 712104901 112349127 221437598 811840268 692895614 857944310 277033512 613983603 694493256 460417899 152755901 161355911 123994692 146329752 539605440 323271114 498399133 349294823 427759321 284883502 589398834 563200607 230411453 973682331 346533742 693354314 167553463 697650276 612785598 749468626 501766693 749493880 605158126 204544943 473310573 514170327 966562377 543507379 154399296 578342366 570330400 227314801 573456124 315713319 336818634 453897446 270600674 417476521 248815000 442079350 133115297 292699727 107404467 975736209 931973968 619215573 468480660 632463549 735341952 267648572 504854138 442680277 972259322 926786598 673780334 984514506 859608284 417056503 535432955 890339928 448386023 918271286 133862640 255656270 502512054 523347131 420403179 842365431 230529790 568407449 671434947 324321891 875440407 786869632 579760228 347682669 534658999 527547260 175550652 104853244 428155130 448856738 913174201 503247406 262725130 618494886 114560242 575412107 901639607 824076675 107064846 395082043 475550408 228637443 611617559 362505096 194250828 395370081 243322327 276694569 268107061 140532293 182635546 465389422 976138011 550399146 587781292 402240653 194095548 876086429 309042559 566826332 781292997 608969831 711883779 234309659 806285337 166945303 284370948 722678650 229813916 438808605 257825343 588208826 898362199 664532312 265818624 623970405 670067734 157300221 812220108 729173071 691106617 732956787 821811077 381564051 504124789 581290587 916853213 496440929 645471254 689052314 786634848 609021671 793006701 485131990 431057766 906956113 776448721 818069395 245610658 688685221 436597880 733902146 713919662 739799603 209641878 864862599 304139713 594784953 629589456 225940419 302908530 837910555 538826021 214724356 135885088 120384011 266229060 656622313 235992886 251740460 219481129 238292065 595530218 423299315 593134661 124972968 510703998 383153710 487228664 601384423 179642335 730252233 829696695 923157821 262462932 372869916 892336613 815673542 590715087 857449970 332242359 528395434 179596290 360523849 736472768 397498688 749424614 110634302 916570272 289990811 647393073 616690638 283187969 443147785 776934354 651271335 225132461 459894660 942612694 111807802 397242707 395000927 152192704 787811412 654465235 574790334 610753479 660555219 360143481 386182852 202812305 215069519 278192044 561475603 534849583 843522201 788584412 468109572 296823804 634244578 650088672 546842650 137643840 783260966 406370230 522050220 136576845 273695594 744555824 566964703 756172764 801291438 117140487 111362395 489185241 329974162 106001892 992746861 269049914 265055296 735936357 701343705 329498596 355244067 238337354 665768938 237913990 304986768 567917789 712388271 654811492 148838059 482077953 827429517 865682026 953714276 764775794 506281370 651698462 344634693 453418443 705072689 486487866 399582055 892846226 366559295 347243952 148928820 932155122 714523019 812598939 780561234 451678569 113179702 446066923 540527156 386025918 591656913 185566435 299748847 968956886 591527851 795591385 778557690 319583235 432916147 570198197 406154435 834011074 622689652 243588592 282052295 573860815 793823246 952881809 975753121 193958897 806402477 442885313 879019753 480873673 656049641 540728789 274854866 781483358 986544632 359620748 764631240 803785965 934227960 626376600 635020131 748331697 906629111 230141281 156019654 531694012 636368581 109914060 980806168 358668887 521724902 649648334 569398132 291048960 480714228 132119373 187667721 834601367 492315232 676624596 757641883 276093374 385448271 768768513 101313257 305095010 371183658 663396695 508381635 406932679 404298530 285946435 922751002 753888789 614973178 173796369 850746182 644903128 863932796 580328595 925781318 593889622 258950989 363076652 528351695 212094529 540986361 778276462 976290139 333902495 139472963 311768663 565153182 238022459 199316748 582036657 438130464 360353914 289493936 402829552 692369544 643687916 660250101 536538021 329386689 274072510 878266758 207024247 602954999 693296319 388708307 593054577 492697862 488484164 168923577 463369752 144844542 947735299 131981493 630086804 505461379 411233838 798488260 540685329 236545172 712010455 926753014 346788303 952649955 487649933 708136914 168656705 845349104 871491319 800805100 821586844 502236292 203427070 604527162 342111288 962084990 293752915 346429529 748472897 790510742 353936808 993100177 776165509 585995310 309992416 515877596 733189795 427117559 199496017 438019216 427640954 176918113 993938290 119536257 883231528 161542935 602967182 440170831 881212610 978645265 389693981 132819096 411334594 932048867 512081155 862201671 644402227 882602169 663938292 337825406 204177934 203262549 638288486 223970556 772820345 670323327 151633003 988057743 698630015 904065958 372453032 950138158 131632158 794108059 150601146 243008833 580681422 490834293 300074881 151964045 960647881 661063451 855028164 270292000 609866635 630535263 217485268 346866693 264960122 712924484 344001500 323820534 926675323 932745890 843188574 530589108 185209199 245525017 620389756 844036422 221973708 500339508 608794605 209355803 632545906 901718945 908567561 432929795 211287113 745420102 919265660 879599933 575169075 535936785 990240475 339013225 209641732 992916786 298087663 770532993 514411223 964817066 503022399 908867024 157549127 492470925 466379313 667027402 328564587 929217510 457712985 441577583 586376462 823377447 722225015 420153023 305144026 742509956 345945415 837132793 166519175 811732921 613591215 338921563 615941089 682938480 248408780 703490950 941168880 271616870 510814956 974088121 214632695 815558424 974981696 281888892 146131841 901203205 799343016 883634155 408965664 619288966 958094986 429216006 974388775 736888335 211530381 300065476 587862647 207251972 350219059 722357299 934465135 129160663 545419180 568724163 709272254 247849502 746012695 900967814 237153552 686858648 987272242 823213733 531986420 530040462 246180300 453493828 457557253 562559324 551611870 156344848 866280692 459456333 669678807 573872621 883367344 690964432 522864599 635002590 764207119 974038784 760791281 415879070 594054359 509012577 478281226 143454812 200379596 864037236 404741968 453700935 195415923 625492729 593486231 265718145 417639256 140802996 843636801 882922516 860064006 811249517 736770340 901871347 204541452 754620956 781922143 808026815 172581662 875278445 192029397 974675816 425693007 966302145 469459780 761664884 941577579 648577462 275807608 852459596 311793527 883847162 810179414 768851721 962818555 605950986 214138592 387219410 115660725 615500204 118577175 183162793 367551187 109772298 554502453 768606574 267459653 527563459 252195373 810790188 805368233 614695180 771558749 117010785 910601663 771166424 438521835 491750361 734135807 198936845 324874587 643328446 676247629 151611170 229548823 933666904 112457014 869663949 682739576 251002058 962255875 556339740 628597000 446319588 595106253 379486870 628922136 608421105 646292820 108686933 508094687 230264713 358253691 320943760 675277119 694712713 394839279 118420221 824136124 397564891 248356956 249930009 128403201 265464439 770745527 948934810 309933324 779413155 249719254 226986819 696605991 737399494 447742867 746592631 302222880 830078130 263155675 460876241 803440433 703622544 302655930 169826464 555910135 627009856 411956208 180065221 815798691 201841579 982643562 771329797 546755325 967560392 591647657 965393230 299036667 652210408 335455620 343367772 826291609 131890488 393782698 124279047 441553228 648072377 738294357 991119783 398566146 560664870 263507173 748926110 546521911 825133879 413993951 729916161 844156990 879401243 548819172 866478086 579031960 879651299 748595603 751353945 485017925 410864166 313237811 549196533 899988055 634149929 586821392 320072922 562200483 658367390 816148066 821927955 615736099 261592209 264181693 110177110 645895015 936310177 132855220 832808259 233731940 676175002 142136744 748464968 799485529 529375967 220649906 238590014 668613029 787356218 587615988 970044827 290748965 217039357 481306520 904443912 472466736 363496451 898948982 470830513 581133279 269247030 826442940 544805660 995527746 506320905 312522597 924133349 202490834 234892557 579664673 586691293 453143699 276807173 234957127 368076667 824060949 837015294 348808373 829601199 462934390 892177262 205823852 409194698 787158321 968048368 977027151 287166477 657875135 649525973 270874741 391581316 585492179 166526919 633464104 627341933 186425377 231918228 478717016 126318625 195569660 477865924 503042714 807522673 466052067 508340771 365455753 295482587 926368384 865071725 833133283 284580237 152267317 414218660 289937598 817435724 308977558 716664239 884458328 572833574 655503487 767795985 677407149 809037483 608843184 326913678 151461349 686013321 914918454 200074010 660674702 982114169 294958426 120428004 657605953 524390898 940298681 950207691 567545073 653777627 756898263 688185265 692364532 119868719 691484177 192453613 692275513 197420261 107270316 457723525 846937739 729073704 285437143 747529251 901891639 104214942 526478086 251385760 965486280 895914292 928995275 741643688 214557535 466123020 601240539 811617453 226609110 468881474 996613941 206992778 479440689 732054147 528636000 389853596 231183619 861359659 963170088 331879214 855588338 303146907 824870187 858865603 434187257 708928572 118288653 310302768 486226792 156420586 629419964 385161201 269074938 755835976 273333644 419839299 787788881 529860938 834879583 871662330 747276675 710805200 744319748 974676763 418504422 296927439 896839174 495609321 307800485 113141771 964471126 250573834 264410323 843818306 292228735 604244314 613400611 526650495 364138959 819824905 172968350 832381427 857493667 601763065 739634594 978356047 442988559 629627541 280931682 341681625 569032544 999749279 731603648 977024491 803987871 486318615 327390193 149956842 380253456 379329327 904824075 527975012 665899508 107447442 815912405 337774166 525361910 828398630 440364359 683530385 690203208 744684842 294504006 226302135 719828253 277243925 667263506 246054595 614292064 637336609 267977374 862532196 125607586 888601810 233949726 566978766 310191909 484533752 984188104 546482104 278595918 816991756 791843894 406956825 887390147 403555727 109658195 795769351 684091415 140182860 292185247 971990052 814832090 807680809 182583482 411764395 804665288 643229337 604525276 931074038 132290004 822217286 440748170 784398506 994459052 376817628 414856232 900227133 969843513 798098885 523334712 683689652 679399074 397569176 868005693 913812167 884924405 127703050 977846095 676109450 297909174 920582631 510739119 145224663 198057886 367220469 916405931 235287503 522746627 610366335 582448683 945099719 625019234 451727637 485371495 885104064 320205538 832424940 972585606 887782458 694791202 216431066 269817598 940405511 947952954 393884543 374193868 939635562 108456662 471275309 446626267 426464640 712573902 446672519 538906460 125125200 192158155 184501794 273614236 546195526 774860206 233810005 126275627 109695796 514151679 714231239 961983294 927973584 681512632 354066958 770506818 822670231 122173103 409208732 551921579 734516426 520154094 414591759 974765748 197022864 964854429 161876113 629633892 350173742 835757001 491333400 957032375 464610014 657814221 822289772 612131476 406002260 842146211 334294303 197350743 344269328 110343272 589975391 645524607 922490336 634850177 507639828 690345093 329929257 810961089 974861475 149006868 336773519 966557832 274205904 860394815 907698667 640147055 435520293 273759121 920993182 544480528 371270553 712128564 836519515 110745214 839638503 811816045 180671745 528030432 667925100 829449071 950401214 553625382 739598045 218264816 109964637 567408902 421341349 900277880 649859612 798745028 402453605 475960404 339104547 557686062 260630824 930630711 924189277 369122575 374100224 735204522 716073438 271473650 806397279 315651035 735106333 123594157 401559052 464085332 340763535 789617837 647600400 893551021 996678930 915787299 114264613 309395665 287382850 761437413 549750633 798468555 683716855 267254950 964742079 566651863 840876336 988920934 124593954 250999196 978291537 462913902 563683772 674578544 741876492 671523225 389984695 352543806 228875317 361294038 964402365 475964208 769517567 566905474 120590611 334896280 463070577 161347394 270164165 908511060 989999389 598311641 911516188 825353709 756380265 316244274 735491903 192089415 864502266 491932712 757965562 320015133 896887362 286804347 996679597 398727580 526541211 665567728 947219628 872359886 899680349 557718285 134751135 414342263 547551903 661748618 259313621 394742589 334719968 852967467 279372474 767971277 990748403 785265186 617480375 922302411 922611107 501847574 628654170 145023441 881240138 349857455 410734798 243004582 842724821 549032051 726626906 137699448 550007769 731485144 626310963 278999874 408384263 451495733 282343953 566629272 133029544 457833982 802860381 609114200 309889155 524866999 641693185 150131829 678152489 615644282 577622859 308647093 632375888 451551206 578074824 774402967 900810401 784763890 386804749 382395653 123199123 542917651 648328579 540410717 593366852 826853507 494654185 341936342 862572532 904125332 164841274 334613290 150563157 180241264 750147662 267314144 245283161 988586905 779973843 498685699 832150208 624354501 103295287 911626473 601426776 756054139 899181207 619580226 714669819 245666693 148525388 150568364 739719212 981035148 863809397 627971177 589940635 132443557 823702466 186356697 413235163 848933010 278356211 123034170 762142191 943711249 395962041 237038793 129489780 201021680 581040247 847487261 682600199 587274315 361836805 281023074 820439336 564035681 457799685 588204756 846471096 388206149 983018605 602031178 974357065 253640254 889236724 330061721 326161637 675805008 658066294 454033045 191934727 134000524 757783200 620244904 292469121 633962204 661342470 155087224 564358996 412445669 558061714 974141363 161048224 690974203 171021503 446270545 143068750 851230458 747766046 655126933 871276071 986721903 576165504 219614140 108192313 553502082 437556263 385132594 974424221 570829558 939443677 678294870 536481952 183942263 551389262 681403020 690170556 473334308 585432947 148169308 475672595 268948447 946495824 942476824 871674379 311649980 574630500 313992206 263267292 110889661 600830519 111198877 304797105 546506548 798236552 635361762 514196813 578522803 737002676 395432203 799821875 280118932 181201375 475920869 185464393 922675828 175776234 309858160 113598042 220335519 770236980 993446259 170463103 416369272 583552657 857338073 307005451 755371885 717871618 863890132 263428280 617374421 475858119 837463346 723812845 365480247 649960808 652404018 320945690 900383812 336997522 844204847 969315080 515389292 441905954 170205163 522949804 906859308 347832679 805840754 310645479 182581230 394879283 542792033 783738093 989535696 784358111 977965459 276599614 725749928 103646352 894332605 137446809 282213827 770689887 989909827 473162754 134799500 985862207 110417370 427910948 103596906 347239610 155779679 413900438 236270788 637511662 925067018 277698109 644454890 793576011 416128813 741026069 348160407 141055131 175923490 182717508 495995124 474876575 323562866 745644135 564210418 495411290 769817456 788841403 211839862 729994171 605062241 111398474 623793952 912934075 308221997 255653778 209582307 737367669 146140661 283521812 977499538 496662012 123172074 913508553 718450113 411126382 886189926 449056170 970235726 159996830 409214267 563535662 697942530 673555841 696017213 258579922 561475790 499434341 683237044 380979136 589634693 682640813 977047308 448800349 324389642 641516636 471620508 886353760 293588154 715962962 794184006 445670977 135274075 419374590 484118232 133913274 265087742 543870957 402437655 711921524 275524361 523812845 361268035 625631709 991268696 126527977 897432844 493999929 399742480 175066553 940848750 835546685 234391834 267781898 663154812 757350920 401543084 816168630 216705728 470087213 734004125 351966820 875288649 993801818 764179020 654851159 742207465 495409811 701516673 200421611 112275927 462860248 339658427 142952906 718993534 287856244 720061873 428789673 259086287 939426503 909105746 832822704 892863797 482049221 589773839 397461555 524429820 774625556 986090242 537451635 233900607 389516361 462231700 533480360 517448132 402116501 852373038 432244403 428200189 401263529 391578699 767691477 838437366 880516457 678566794 525234876 502074758 642282052 799847333 288119463 923282807 311707065 270678420 250511545 980012816 321357267 325789644 868701639 521993262 740930352 550039376 112206288 133512855 305226793 509620101 554679280 711157433 786307620 160775030 967938057 810234104 657002642 314546820 269634410 600130745 699303323 892436714 764216670 158892844 705611718 604924628 698962844 245945048 962436609 441517431 242223211 435041476 743429957 215055491 923833336 967672129 470995646 887353761 831145290 102233622 852990568 455856656 255308481 364818613 497502958 247753467 473428293 329458454 800275337 372797686 747370767 708074220 732084302 650161567 465748670 605006993 684256357 812186877 264463814 568054774 772740935 468633703 110137317 686259863 116851151 940130714 406297844 350166899 825239820 828779961 807861656 199844945 994962104 165765259 923798052 652234292 264356702 683974744 314133497 674701933 682334053 923696931 864800641 284817052 660477416 850301984 265339352 760962038 281452425 529168579 545159014 799213744 684688423 395367224 569319056 893164004 391005684 269706589 867197565 611671020 322173374 244385397 277755112 672702242 327732937 978407299 682501153 898182117 297131692 608114500 622757258 263051918 341607599 914436014 441855870 193898731 835305299 206736140 877216212 152364430 603150498 950585351 477179107 901052226 465051290 614079233 567330189 989897518 686064370 864462234 236921146 460841557 700700374 441287654 377750908 998490657 334353341 262531049 388154987 122454914 965845304 530814833 563480250 193188989 448055118 394889779 301577505 489640722 826288412 572014235 437680656 974854207 649208228 596896046 918942081 923594140 177427927 886899178 923020209 289474326 176509311 539258394 267372529 272304024 449621511 395285228 212652277 431904651 473359309 100191005 544560414 935949477 736826153 462477554 776722037 353507385 440683505 889683117 539045662 135037611 768238361 513669606 159927878 866639744 111868734 490623920 104655642 952987712 997156962 252296798 398465265 992737582 941583478 631386695 632689170 567425940 724569105 721422441 580602516 428447794 768023988 975148041 569016515 940415904 418762365 910287335 637574006 233187001 824606152 647103201 577319857 884122792 939744806 801994843 374746725 730830373 764675368 896820123 416999786 590033649 125702117 803566563 258616394 574407762 956226398 858556448 152443326 162292005 134870810 149057832 673563346 518030413 756226057 888309005 929338033 984312156 684509557 668398320 145828125 859030205 275986426 178969049 298063408 126225705 300129081 698696512 445005838 711102484 726447377 500210577 919672635 942206600 649757595 909771647 399523460 815248919 631009432 761908295 603251420 374843762 286097060 895560425 189158763 784201236 401034556 417033703 725836951 630777752 451641828 402137340 789093181 686330934 526276486 737883284 328827719 733457971 777847127 708993417 193156754 712452748 394385974 247139373 181225814 475018931 264872616 877927684 186649987 434613711 660432111 645771546 147734260 340280836 744793081 778885271 541290872 695482525 229309288 404962060 744263782 308383551 170133848 961075874 151851301 310897368 803691766 738827588 281840739 511106404 841092679 170720219 720403358 411366952 594054952 476218717 133222733 510976256 125317117 843301595 180719424 199823793 265235090 943186338 753536806 889107413 361244905 168107022 439786640 515246860 762865376 993879359 657094264 964833057 258343711 923697824 392469769 706140629 647618608 386813608 170761264 401027321 935424219 682742049 988084878 319212574 918345182 914628535 954915354 667045646 382078185 725836407 380336447 207462546 521668725 790540532 883129782 487769075 905971361 562623250 781985959 792341713 818668724 527815803 802083077 998307586 128678490 744974207 646875433 587702725 241126403 592342644 376155466 626181125 115309052 833216730 839500363 546287511 749537163 478021794 512374702 834583385 973336817 608006975 585063036 662963470 768128165 658212312 530682081 556611557 885877974 826387327 291400493 858523131 321771099 550032202 701026351 492139815 142604865 746774209 277648454 185846268 544879315 388919069 330153582 974622012 406088079 398162541 875532737 117917425 838177800 737830414 346720451 859065712 271426709 647053487 712804174 735159992 944936244 516244734 938927290 164397475 329972990 567937476 273147571 303255946 256757904 192048838 919287622 941951966 443625581 339450591 133882246 600044447 403182824 842274749 371412138 138650441 469268933 892982627 718735794 214067168 968580593 806421851 671742574 479306001 611294502 374968877 936140991 325359544 685054723 741027335 731829104 450095226 867116338 474180762 727472916 761808281 853042529 451226548 139193889 161236152 344864007 761474776 347572450 503091510 399228845 735408028 983650533 964300121 222228230 943114695 513296075 263405928 522155394 267552042 840797532 119628612 826567415 266917846 819497898 327751804 296883360 148396749 867879370 387603742 143179078 200936443 572233767 519144940 117009020 355358279 435906892 385984064 874860529 833596189 737668183 650048961 233700537 783567084 285914276 569533918 916324644 585156279 353164667 286748802 354176578 967003589 358424993 243358474 546714177 603994466 869847623 139193337 292200976 307629219 474664863 200175616 236775857 257495949 735465058 682474898 158770660 353446939 837577769 165994905 668610430 357766776 539034947 825272745 626836327 440245473 529602726 938298981 546885133 657717336 874608685 165132679 831921823 722082132 328216247 147372610 674477403 300176972 299014453 415686194 917811704 873438140 997958347 880529087 249259953 584723126 862415006 612685921 125837160 258586730 443857688 690362142 628485837 310082126 815368746 670387202 513712234 971454928 813967928 632586883 890607462 197063906 526982424 786012330 249800586 348686065 125272324 353196375 706718160 699588097 700745376 902742278 246633073 856905762 627699829 930883600 774335630 262499567 708837524 925608402 939589262 353489720 107430530 688120634 175361334 294339543 271159503 133313109 186639620 223737420 670699247 915859267 203202814 324140555 640841538 555904431 111684201 744059971 817007505 718931296 606466238 936023793 211910255 536053254 964774126 198989587 185869394 253224941 633419622 811508507 423590500 419897176 375066024 413962574 541210911 206061312 153727226 305509149 143648613 100825453 833086877 738350230 932126982 955868301 767589963 835153900 416189998 534938847 804570126 445639974 363847465 519559654 169408496 609257011 702293411 556307905 594820595 732114891 376528936 921116443 985165750 316504506 334617309 458613417 171073331 867137899 133625929 491902506 550994872 625554481 560158810 513455574 932333893 359611736 516255886 813579591 217527154 663736277 311927655 680524634 642130266 860725581 279945059 203063642 553399273 990309697 367990900 803726260 454573500 458741256 241497884 256767344 874821476 930851863 677665198 841198267 869260620 335530703 282977581 756280259 527468723 498548401 501335355 193841951 200327815 911479844 181350559 842439830 941238135 725131820 970850702 141567591 787599249 474549048 342840817 679969641 439090294 630330493 142535495 233603179 997056475 164906201 597575009 795533105 583986750 754051027 585720109 686634123 928535851 476241969 699106284 366711305 713896805 624914303 474399760 317441041 539895450 570219917 169504739 139415721 244579470 907353832 373897693 817683286 294667717 365952165 248320289 293462430 135380609 255352440 990643357 648825969 930472589 596414032 483351282 262534867 391615374 383572246 735954546 615555751 958283812 351004386 880015810 652222744 665503234 980733332 144992165 724577379 502221668 648770436 892625500 955053285 317059925 755283124 575564835 750660082 453156464 624417972 547615772 405099316 652489600 567106107 925197447 130964982 847320533 774757149 366961664 459291455 402539950 461359995 486457627 436066592 951808858 332435150 145733912 519823528 608385884 508532272 473572085 632995472 468083783 653487078 318265065 407286963 632237597 863826239 382589309 211590228 161730000 988632892 356143550 938458752 329915432 810612891 863764397 786686797 756794543 127561633 169214329 807388077 659149726 998502231 196816847 273521939 804006192 517097884 984668952 524631414 783034592 664830803 651190426 183282135 360482774 723563392 726134994 378778484 285022941 805728783 216905789 528010746 873598115 895616066 533721808 923068267 836949806 577653183 123069395 668430005 138337895 983928829 279927957 181982078 484664276 584227666 274940979 493575054 155318913 275569915 427804243 230912595 284593054 125678102 151337756 412259778 176276809 602900443 735402217 444998377 532786470 176739610 893127214 238083740 574611558 733276540 263837855 196965694 803390921 449645011 357759909 114959953 487561566 530116521 151967779 980707260 698364155 632984058 667794988 566463072 468698743 229826347 628005457 341121259 203999344 551675919 258782265 849561553 138347903 762051674 208498447 892144551 948208791 708298606 895873189 384365060 476258829 601187410 651341845 720780247 742189909 262330435 790835764 782558844 999644578 449448675 179177936 161009777 601404432 843834624 587266371 187298606 189387428 537433229 414810364 892993905 986100454 887279908 178778669 611981200 997765421 303464785 738503955 765005250 679693416 683607678 903370865 293597048 308510583 649946243 189270900 922511637 417670957 943172593 573369422 640214034 909116880 357416882 810243578 787397095 775045872 857629176 400927499 329563996 344485471 936357688 822583425 467632336 949459417 378904302 173217076 913943771 200324626 551229483 281628700 988330953 988769280 799919394 951963408 707330180 382969567 207823325 289116766 493004846 321358836 809414319 695630958 429424999 104182186 573410365 896354916 178811877 797113607 319853859 444705201 347927103 856890785 676833163 463535009 918795092 860393704 787841481 437357450 965785110 916151930 876100800 224814675 177467513 490722109 998603037 486875271 833376292 732211967 443007438 578295082 990118177 436690835 334945213 585867449 185480401 682047877 783735495 879080049 998897121 263812467 818874012 454353658 619292461 880168433 196814686 837646507 294177195 625617949 782754204 833600788 420277260 253638151 346886532 338796762 632663155 248182460 678209216 655015555 543479449 645019280 817418496 216417974 390284045 776439359 691376445 945865254 708433522 681100467 496246807 217171953 194130360 902732345 239444714 495976630 203077206 104380091 989898800 348705741 171635660 731779617 415365366 945715065 652257021 500212248 853469708 113884804 126439428 944331029 651977665 642923350 462375826 834812848 664777683 320304557 196606678 487757589 401711052 883855305 196346114 743923252 265006216 398779125 204569033 555504909 885406632 888538007 804671259 211057199 209772525 236740590 219627843 922277373 911847167 780131969 952069739 288225693 227273540 558390907 715651360 430366581 406744609 896735488 259705623 601251831 542141905 727548751 718340971 917520141 205856057 315572657 842352600 559609252 742635836 193864998 751585540 560962128 613891455 899881298 683385310 191096678 417276220 292475013 254770332 276232691 357373722 539101125 760629723 155507627 836742668 491772151 995208838 674650790 981307635 529486739 873099355 600569103 858749898 693988556 182443494 173177412 570101458 115014418 872110896 803095209 118074471 285823200 842476830 964159085 737061184 869689083 423321397 156673274 315874524 604888231 775911212 785757122 113876336 651456846 658235598 496500517 723632466 674456703 610486157 717963387 136601028 565514876 409428950 923093076 921698247 688672686 291019161 184964892 510369818 731323667 546625561 111600427 331046453 701011613 832587030 137139132 524116465 553928228 433910505 804501719 147466908 931102607 369361006 962841953 138722016 681450206 624389994 534083282 289250594 244801009 618453803 479630812 299181089 306673477 433391314 911632481 850515098 321598150 568827430 263304194 557127112 831859641 792010889 953053958 568631240 913203231 198895054 586754169 328271474 451262647 644466775 689765587 965941592 992790011 972434962 730521048 781135336 448624657 766150332 353231142 450150916 852746060 684540978 805747813 702308285 452676511 386612068 307599397 233627825 552572453 889429652 106755629 987971507 961721010 921718649 901707714 266213522 370842037 634711166 668118882 558870779 955285755 167872134 925810982 956947075 824304855 275552646 203870733 227243060 616167861 160949035 409691726 649887980 703386679 407712696 484268439 834115864 687890866 152168634 415137296 477439472 302328525 420694419 973314815 373516429 194126969 984054335 812422086 634321132 886745130 891067485 199741921 230119074 848359284 844354527 232086120 255260539 669162514 972261491 198925787 253856660 351021543 194605462 708589888 120946213 919344139 104988699 153692205 261216206 741216371 535710503 993741007 468278014 721851491 821474902 655890795 985542044 705864362 813121263 491972588 782361008 829680749 291617439 888248130 505656817 793004342 242025511 247830080 547559895 517658044 955101124 960974554 225844866 403370473 449467929 288666517 861991677 380028983 240727541 453411482 315274380 158506436 337769538 541035692 714062411 927077745 959672455 251224971 745632836 459067578 788779913 167953356 104846036 406759499 541829177 877258766 528639023 978445006 761499902 464465366 716857078 839399302 524916353 921246482 515790294 193118408 494376753 498228325 433927142 826652987 563473438 120376016 992930836 591541259 427469852 807805848 252371977 111714235 913120936 224478083 594170484 474709456 427027978 450367782 238780587 846050028 911687914 994522770 820290296 765502433 288339838 348249008 792942162 874805552 292579933 503774364 723870516 434267195 280216658 578560927 193329381 620896583 539546821 757292966 830031357 633218647 147035215 981976837 445992324 468740775 439978255 604237893 504468719 404343202 577665840 136586698 246057199 549123394 356955604 470628165 657179355 686596898 857385321 476872113 176336424 713383855 878966363 396830595 957180955 590847057 717813558 884446776 325734050 235548932 763901932 293990396 817374121 930587705 136651745 616086980 528214544 207436302 340828924 129154032 721121047 504319515 209993307 307064902 756470226 381832805 276260865 151253756 682594002 836008343 132739515 784619477 604183983 224763119 644592709 357511218 204670979 642759926 528918811 989709933 899930042 432203118 783203058 992470297 400175244 590569642 779685877 260016798 246430049 971051045 224491785 440667498 558688085 558304494 411578160 439539040 456347790 175705177 464932578 837114445 701291460 197042803 913940342 601346825 516467378 622598589 318308762 884696713 947488779 248643797 770226113 299946772 452119847 222803025 693584850 377626934 526766618 252280894 306590487 764876946 754724986 712745384 332892747 335503934 526848516 930639692 868193949 575750433 315264744 206277766 859269875 685044433 531484408 236876780 902372185 358759159 344784563 694502830 551275678 550002141 930364645 362115205 928170228 349584726 222738097 420174145 431908291 460152510 127858553 716016115 749462055 664584636 334966548 246212795 227729586 879260189 523604827 532575003 414916473 834440398 127379392 116998249 793130261 949145099 635745497 934549387 753557584 386848137 647919347 967430122 429831772 440469623 473579862 471426259 329048307 311858472 149851614 376784595 477351167 747474079 283134892 291932278 405236223 687062480 813457878 511525852 802247408 779854164 734921316 489202331 270318306 930777855 865687683 549889291 726275749 739506195 285336994 759882869 843219539 582186943 227782773 357810335 385279850 226371463 204016266 923018023 414691373 838131201 456476591 755756157 185026043 239494810 388449383 251917027 392146316 417263470 332800354 255606021 503159838 354614432 626350437 404208568 365056766 588251575 503955327 134147606 146704254 876595108 376743410 407333192 314889900 584164771 577327173 184605383 787725232 626034312 348097365 922817238 643345934 608958197 968693299 781270107 128935470 700471801 829032885 242971754 697848208 995173050 328214758 542260984 635812385 525440312 667484958 777108915 498576950 377779730 180688003 353661509 497094367 648453538 370488196 460538663 335080528 173926842 854324516 969043959 363273478 810351151 859806037 471434508 824357567 824184084 254914363 968114019 502262366 603881862 443558404 302648426 607960778 743533073 556387389 793495821 419852694 694754345 174360277 329694421 713442976 160247289 594697386 583282031 127059570 945682156 798327185 197454164 292143983 924242785 746656782 917831129 280081184 713071385 410072840 334815887 411542654 311367057 625071205 658092547 278654179 291578886 722583896 611591272 599934055 769773520 305917113 529818649 345125259 724461176 712573192 295724076 214811210 904381664 426431986 200908616 494080066 210850049 226502600 938698587 127007381 115124166 488733667 687582049 906641108 825973642 865192863 124430658 725905187 353482767 267504626 853880697 201145810 989566454 406321733 431858960 454490693 802599319 257560292 391348913 370025666 504866476 364121525 959339124 910258781 387304923 758357326 505907603 168838599 386299327 948187776 746830627 767988274 547638195 447362678 761895794 325751018 713739683 678591716 912491071 490894184 339987909 835331316 187631709 452782960 843094721 453234661 543542434 473177757 367233987 989994530 225418248 541717438 892548425 586708414 700663331 535115233 989623584 193532263 450225681 934572896 279101576 294790055 820816326 718988645 818061017 515658321 976630459 541269176 474347131 170722275 476839101 309377232 396802299 166334954 347796775 238234146 818160625 883548536 535415025 201076176 937077148 287358818 721673832 124709971 880102358 427877168 527183751 576744029 185089683 664820685 711441938 361865825 834752240 835805903 347632801 186523565 263090227 230311009 891495389 994738218 653494494 447618246 571221211 638433340 223476895 334829988 322918778 681478955 942740547 622612672 778780101 958248101 568237608 148525479 954312812 890851699 825049897 739747408 286777048 568852229 570193292 432888101 202547921 452089668 209914308 178855830 642479059 694281286 203353031 148818733 262244684 758245058 129431198 300572332 386098957 753506535 701842478 426984598 209900562 840370827 747072286 244484644 747968033 283402911 909404685 874482040 843873726 900612788 768807621 627652655 751041371 506532293 566266691 269800900 514454034 316502751 568621208 202867110 132953659 880681882 345602563 741243022 405335355 106853463 699464552 958339372 493688147 544155291 681226568 786027734 226776697 799741494 137461662 309809037 186396617 250972683 999473433 343477267 661165483 204346286 289279840 640815991 431077191 630057454 471109078 947406427 595024964 825552144 851889149 729813810 878685806 560732569 532084477 712286100 547235476 923807572 412085012 977951648 775818684 843703392 334397338 277955565 434877315 592099540 897405887 123774131 154232435 279199836 360416489 406943954 237905971 312302845 882597456 763250172 715452735 785289957 670429930 333652668 253702084 518515951 416936196 468790641 392742819 333302365 527563089 297774787 873535326 778446056 689904661 915949794 386072695 151355455 618343221 894099166 904404140 144991564 502487553 139487930 519265418 771550417 839477448 460759929 311262113 860214006 790098294 928870594 214601694 260181206 539451394 395340232 595172455 972210610 734335842 665998148 691906369 685140441 943873823 314655715 793802559 436465789 714110415 529989756 207868061 434306579 913217330 988114603 725703179 695564969 102093411 110453248 404542777 383337520 805496016 957848355 696981313 573547982 987476361 414673597 268242997 974650019 509029838 464972015 532854079 348239828 412864193 920521664 207565645 552130159 502611524 135724369 644950071 778070251 396249688 899674545 854901996 385158877 893531888 737086400 779047737 660338150 551784173 556059747 112571166 237621626 274101905 828662768 197078539 208655642 682292162 134992371 566893167 405814799 421891806 659429027 918357914 998931692 395927303 218868968 260054058 719377793 879741697 397779249 213828657 612162827 742103876 220096640 998688917 188730107 634905550 301779811 213059829 244381175 342685340 505096674 298563054 124685301 106318186 570525185 658219047 211544688 165892137 138882235 192236865 193795643 928225590 530896209 501093242 993631044 163899840 549923520 514110563 341756001 290043661 522094178 672791974 630926739 735917114 736942141 724812710 323284691 860920010 541247343 409011598 368446620 119485119 861971132 466720821 213349718 789563863 618088837 811602558 733135856 758214218 157081315 422715400 597968490 125616492 416560237 238325076 171133524 909595866 296465931 618336795 547922181 577465059 319495986 366611344 504613740 360078453 554405058 772808223 980047109 245560843 354053261 290268701 660297607 617235645 916194414 201220610 521356171 430498280 341638621 871258254 183353788 865942522 698292762 614607827 641826336 994173846 338759362 227238300 419481020 944913969 455187335 908330452 845314937 644509997 146038338 617018751 260184523 642120811 124548199 147146572 390422184 104642264 185946049 262154415 704723986 254115290 194605216 483829821 782491281 495313143 688083812 447939693 989776261 431143062 105385116 935160686 816628109 160149913 341861276 696066802 855936929 435597490 635144932 712393378 196254365 829396777 610080273 839091650 530354146 928283037 704064651 888837418 825727051 862193285 864470810 971792175 397263733 118629037 562691912 588459441 753023199 536603329 657126839 847868693 901747362 420063591 754429048 999100961 615745575 213967925 690134763 515201048 679994042 374928888 571639586 443496456 228796958 557954562 977937718 958239069 521341298 375875303 996343426 202714953 175941082 469046859 574444624 639483648 819831574 806185265 335029569 684409645 427674002 999255667 459354967 190837221 405212238 523298949 706214407 957153039 832076943 796726346 477086333 667360665 654973836 464610056 212981926 620812050 581015623 318879749 531361173 247066655 567772158 950480189 288826348 994914291 970017582 810690273 390290761 922758261 682374099 854345013 213732545 809266765 603793374 278718553 263692721 651967481 636169464 893061267 809970274 523633952 758367369 694587880 880692526 786620071 100470296 527992137 566567054 796181629 261876889 187615082 340990124 960215423 438036303 893503926 696276265 917256425 628644446 818067067 415459345 517904417 914045416 530174754 898165267 963984832 353139685 669053776 682657966 585295393 810953311 180951956 625411993 531320763 388829542 763644054 812271977 661953277 571671010 149491607 144176411 812878016 521887041 872235493 159508578 103800728 599982224 503076798 952013820 676008260 243845290 496007149 798837723 707019539 980801785 309686969 585788187 166754779 144966282 598420260 379103760 379426246 635855966 534898188 198919995 168662330 577201673 150293494 813980244 542887305 951074767 425426734 474680265 980920204 729416846 450523986 652083292 558983044 906968116 183429782 737190604 143693649 444183218 660394816 100160393 752130898 723872501 650444189 156256126 742327043 222485879 655371036 204179216 475736080 236207243 819072234 686789390 791630511 677149848 532729159 688277272 710473045 573079591 964651895 435067171 873819082 329004074 856468553 436393076 460746124 172797092 579298005 317769206 474886971 443716796 377013692 625823977 299229465 988245673 162513544 973089953 336722155 699590741 880943976 566087875 204622727 448997317 211276837 120140806 243555604 801151742 204563125 113274857 511278189 113422151 196754672 690211359 219716609 757213670 625923564 641406542 791199457 185309204 566285285 176174046 412919403 974629894 912709806 509367842 820439638 970755626 363595003 564643575 377460163 134939389 391505437 895966616 846346550 858890503 766257582 469257390 404484713 575548206 217040057 443110936 658581783 568399359 704887288 543306800 172241767 939245712 800959337 843481766 518444168 708857872 642727736 649374490 135940813 261800090 692466002 253901171 102228732 658706160 441811859 954070518 647183832 213229264 208348153 797239444 304888126 533864175 541328284 752686949 510290950 457962754 443257397 557046100 176781969 101291586 703318547 218273947 657081583 961457433 775451466 342996678 232514826 773464604 189413157 579563448 806265387 832919995 780733841 658326859 814264777 449241604 267123977 784482223 933096406 774715285 153891434 515802869 832357473 970184899 314416414 155458846 354359736 460255541 681319711 316023410 581356644 969256329 989669866 249352405 555934359 331916493 942491198 848919084 213715363 215278903 543591997 134764685 164105573 596197008 128093195 845019851 174319195 405445879 261806021 203969647 138468798 293727990 369589624 253701837 181096875 560144959 828993604 572688881 762506696 390280661 134383248 477262189 719718388 310461984 311199256 842551107 941912219 178435946 150865912 733305361 640642820 539743716 864932011 973506483 855961160 448895244 911496752 602351730 151349987 759789699 875806014 465525968 915876164 223317661 566012197 634631808 716921624 772017548 237356668 301806905 929166683 706660404 563034308 960533847 203503058 546921043 139922696 830738258 337505059 460379811 336124181 822105751 315085618 983810194 792053413 821614457 145829027 289538025 119711374 871658489 363677149 334174954 977803288 719478563 224448356 112177398 451643354 917265278 546785537 552994816 956826086 435385728 607759205 708591444 409525100 268137780 773108370 891028462 886193342 406474655 192999286 977112858 748384524 934914336 998386831 836042323 846888472 519032589 312570245 450510280 798900094 138612307 340180161 317868963 573206399 590903201 790925072 241500019 892201816 629731884 813370764 673465213 640091928 995631253 106266374 619712281 862595226 958587597 984992877 515444088 759451009 596408740 698321667 207724244 976089567 223069548 789047220 749230839 239642390 216020644 290966677 109435312 931174031 597680806 406506637 221952094 976560146 117799297 512749062 255474736 328271934 233720910 430163694 584307757 941505187 160162148 866707196 955400914 973920308 429734033 849848456 297237681 994998149 954197643 631988040 678389903 546650404 939627844 240437576 214377752 555300261 975783884 157443272 606329670 839463819 244701378 372581049 473974161 376461876 680832038 439601522 144685614 114043758 983398697 554711374 913397820 904145847 850379886 651376328 845800884 164397694 344025450 332342388 765639643 458186981 714422003 574149731 478035700 926140282 450721269 746987275 127943822 222632748 126102340 494010018 876635280 147420593 925039763 688644555 205352813 403761524 893037280 529200070 159509274 320949085 683275879 638446139 925655915 241561740 354493893 506870846 765135472 567759493 153094978 470262075 879935110 755648449 790090835 341547200 404842756 237037930 617974236 111120627 927849608 548275613 690255430 991460041 388532582 193249770 567251768 438899496 317313577 521192567 239701150 123075192 644289332 655167623 370010149 790602843 431619751 541890971 813990231 709241611 386509378 219005625 998960540 938579263 991586572 305353450 883540158 339338228 162506003 935412734 727991077 144094683 255340826 486561125 140552582 939201344 592694804 173311343 588979332 159188917 719862520 913326914 673823894 798061748 941494406 645716028 712536018 671857973 287305800 977940289 212154017 423713552 654660576 252650422 655710964 649289650 822854196 808405860 599861709 466958382 124869490 374788168 946954249 796603547 388234895 818165731 326602820 624247913 162256128 577287059 957399797 510537664 819059684 782817966 602496408 184714766 537061039 634412839 988009142 766410939 693164820 190350950 116346798 874274353 215149549 200494866 906645537 727820728 673109762 847299157 808577562 899042381 587339451 584152690 135739996 375440538 458594975 609848609 280375049 173379400 260795437 919337616 473367120 492525423 738892774 167420406 286293725 351374892 104885439 456279777 664559762 889141922 544719402 167408788 792141403 342553331 641367875 158474377 693370514 870608860 321894294 106179797 434937145 212617956 912491842 234101370 900586913 683818533 310413822 281509406 944817029 141617916 438534627 668686019 485741052 797423219 388392322 533578234 605870124 601250788 868090253 957325252 286476729 642245629 987705022 525555041 658696588 101355442 395924568 637135821 215724517 520404056 603833184 176514244 175471761 691611376 876003814 369103513 657535114 779917807 186265855 484855064 686326053 344771191 857261545 991943264 264359853 621288263 326997887 354662782 644630463 489435343 626417323 463777178 882573379 321563431 127620186 467863029 345253911 856179511 472403387 192807443 573564158 292026788 661294677 980384188 980051916 836664981 887923426 801185517 491957662 249680816 317188106 279043068 164455322 135843097 933446693 584517415 937532172 671980349 678492126 553407944 809304673 539392683 674855113 940953873 777360819 332129715 852670382 217630594 309981362 124495501 786917998 223819153 403165572 827514493 551878935 253744553 568544897 642478311 739327352 682909049 598939263 406923770 767446607 334539260 331941522 910035583 707357480 285021233 108824237 274775099 220804300 434781752 561366800 196727867 833032316 794971322 303620794 772094991 760040365 919119294 204634293 731896322 131137254 905978929 552614993 136627111 356508372 294854836 478369380 696357677 759268450 478922230 178485537 566480807 766679852 126935690 453258377 168438750 945841201 169828274 176798586 681206083 314316240 503607458 269008301 900406946 571909844 885593461 822541323 760992693 607133005 342053649 286088148 861528233 377835427 504240626 768708922 926381159 176402413 770422452 395524900 536629003 417618987 677719577 738771402 609812833 839916468 459037908 395781373 315622403 254876928 272962112 662969741 840175337 611769258 780435629 709186558 303952726 760650250 518977091 713781040 269405556 968764065 986666821 422785592 766166507 724578296 626033029 189344181 164862073 550130179 168340554 862987853 122094207 631242232 170603569 660228873 401167898 538194147 975262544 549067549 380686768 820341971 384482593 489280415 759500256 171876247 931508838 978411291 992308610 927058773 647702227 808424774 277500727 966790296 981587758 602439087 693962195 285655149 285255596 352128321 479314853 871541797 726240412 621080151 786137583 878901944 606361303 226336673 150535001 857309335 762391203 784998238 721089303 603087956 498669953 304577290 254515595 250622284 616830862 466176205 937259740 105555828 828315486 539889281 974804662 886970505 604389257 899696255 347813010 887815478 886629491 441824685 490109547 736191626 919907074 561132170 111663768 118602450 562538314 442064255 554142284 605665986 129043861 988326832 842492871 701838975 426029296 761638335 115478791 144723588 649978224 779640983 495269071 795339868 849977294 583812892 840869923 206215958 984103567 114110761 321624407 967959917 586938804 155148340 414690330 354685745 781040101 552332671 251831902 531591329 514110289 640124606 191159902 245910597 128564446 533920502 635166476 506005144 547233653 556091678 811980654 163523515 846518791 407823229 135357296 695539928 604448376 776863637 702033893 991698300 493153577 953632039 259231571 961843374 400338152 862583041 856174558 151809946 188324252 107458014 827125285 865311911 429094717 895588124 758439273 360026446 990445337 176497914 713238043 611285521 176281273 477830488 836290211 609681330 467998957 797433276 682682181 504089051 670922486 949218496 503500051 247028226 269173530 754024729 736403776 880532078 785583168 923476808 704170482 175570752 364233662 952261946 716615503 443656903 341529066 246130480 857078471 340192649 909840714 274090540 456477262 719400060 993581618 978648211 550027921 762713008 152886434 434065617 680544382 587379567 948406248 687562839 858785785 496292717 448825910 602692129 751963463 254915390 936966195 760778317 536196253 564225796 237108828 780789987 562719837 958768087 505995044 204268811 912035919 245015535 111188163 266512394 555783635 216839551 217975506 503073712 748467077 173198746 114814160 424268977 608354351 928360533 846410327 223001529 993508778 522069654 559453323 490570085 747774085 301648544 433940148 515191594 463065774 870772364 240238975 781753039 688554142 867294873 331438173 840002937 269963759 884152441 815213515 961591538 423947340 191696553 802591299 798645871 601348583 871936201 121195152 677563474 680867967 383373079 228120912 246763136 569599212 887071686 213637293 411989450 662252543 938194439 151458804 977273050 896980098 192371131 509616909 668229340 746782067 957856184 994981489 788844568 841706892 355515315 216547496 529186835 990361301 786802898 524340858 657263035 644723590 890514093 856963692 735706421 288661953 531073575 616637913 789248176 951594683 124865628 587752874 695613417 940641005 991505220 442174594 594390434 546514141 248015806 341135684 313000415 472268969 138336657 176570833 418911509 783458833 497420070 138287469 593555228 649388697 580505933 307316949 531593386 569440333 436339555 310600566 362496719 893816702 225339332 309430087 196098400 758016789 823909682 392843794 163589415 573448655 653675150 544024381 794933154 230828179 678010513 436813812 658050141 565810688 978911220 153760795 584323301 125642525 746647255 886029944 788309386 143807057 167347255 427736735 980354038 351768533 370195557 929288737 352183587 972015708 850050206 786950917 186764802 640386490 112513884 165997002 158279459 488870869 441774999 984935772 636458119 921572964 514328540 506560080 808436467 284017267 212161224 820059317 650032902 154891918 909619170 869005209 312253965 289591615 868308978 653639864 575759049 919754554 322732473 418556806 408280321 620948839 152589695 617754560 651156627 445491842 861805610 928021050 628853782 345110857 943888389 949702330 598878079 908254024 997942369 638836061 572435627 392019759 933459668 282468138 496375146 343758510 473165316 615427570 541005106 161637596 616874562 262275054 675962922 927660281 553796030 171822253 392783080 722193205 946298606 441499286 434099159 635113917 306744709 720940737 360398867 546061024 908316707 532361950 736814448 594393509 966558730 219043592 393774172 726189546 758447978 139493694 744347316 216669580 636540909 968017552 856460590 595658224 793712402 590213010 460426667 343274838 367017523 329324339 299503040 741551854 684686716 151277567 843250706 617272560 963084066 686632057 116696602 438629893 762550553 858503932 558513250 803605066 482462953 996733967 571991742 642261329 564508625 218644445 184118582 642127578 274143425 453232021 242872319 177038348 935245176 475547144 814704918 831969993 619917737 242968356 337034247 836578425 501493077 286236040 661899908 207416530 824701091 511627741 224764167 706391265 592381805 552019236 164202879 234668275 664822165 648186714 917181623 971018895 687023680 147408210 416611265 323105669 287689387 908983499 822174911 578410317 944272950 164990310 646506883 815816471 362081316 375170808 171440624 356566446 345739083 542621952 253329912 637959046 229028634 580239258 472266750 482735508 805820040 261614551 550999313 450504553 691163531 543968206 148221827 893582494 180529367 415186818 509551501 995006063 937155270 950317475 151959528 450408956 462111009 203747588 851455691 563775133 905403284 814102807 130180378 512467341 227547711 222211808 297676154 319495347 793921922 123192514 535871914 153481066 851363201 356655735 238067104 174061645 371141688 814264949 495986011 468001423 675538678 960995576 529334485 576520122 364237927 177826606 439147119 860826831 192409735 448471445 613225494 405070025 873853354 251578689 705257583 799388242 294006644 384822046 238553060 835589516 370646358 218045076 805826705 411113138 973749963 684703849 378136699 551200766 587175590 479212371 706634698 844076840 107121986 541910530 319960489 955619918 332634684 268464146 636759687 470997336 767433997 191160926 456957200 310139860 708225175 537834851 166763102 858722772 187707951 940175329 914430225 831533271 168024022 649466685 522753424 971290763 615230917 737888593 458228117 567537651 731407582 874692690 933558209 724878530 654253858 238243750 299222252 939215780 363470544 382433613 819986890 540447232 795189838 768286670 333471734 218283469 500453119 990063508 299874727 641736258 106310529 286792993 569303914 797066517 196459122 509629043 295714121 193059089 662358579 354635646 980146287 168789834 691662060 133439668 902684420 758260916 134267764 373941690 879903521 286819907 635344039 901297452 501985071 364597453 950894854 428504572 506811651 858945011 488546018 781317424 447768632 772522235 539047591 317479572 606482279 750552322 947893179 784852427 809913184 401115406 504242393 437192913 430659080 263523156 847317156 235273800 326131912 825921047 749990123 696524869 826431000 864510406 349923252 211604517 351408091 636676796 324831101 329337700 317497845 580938813 425506169 469900744 114116774 835548641 912294044 397750674 469786832 220871741 960410205 375023251 700947356 270343560 215393423 989035722 642488551 627674672 377018240 669179297 312884172 491521588 912911363 896383165 699335078 705282957 146740406 498009129 680288301 977735002 142155001 124294561 814639311 355881944 833175674 169345441 692102793 936712965 195850291 777453282 967168846 572686194 564442827 894136244 905945964 714053580 848105252 124605836 682441104 413157596 129690841 307222906 576584304 153272669 901111608 477376315 894049137 135151663 504465732 347478286 135201263 133059163 963831851 511878954 408021359 201183785 768777767 868086133 144787717 869178219 138848464 170817654 124369600 182573340 812874741 199428024 494383295 803717623 581549608 809471183 122813552 761247075 480724510 959220524 227280950 228907850 203765149 559030232 416015421 516823210 363012953 606356033 378966334 224595841 532434994 481620841 132689831 363375199 521402502 510704505 112415635 200794184 889931791 921159223 115094012 612660321 854788059 348903099 938246595 295193077 195927795 637867752 933730273 587501482 869236664 652891268 909768663 757489986 132946017 989499516 585735287 664906552 502404137 147340857 653139653 529614318 848643027 744435263 518891956 994977993 305712477 602057112 107528139 799222822 964981093 663831521 328244493 450382982 205101196 371554832 753263256 329530237 607670751 801575676 686047558 467329624 939984058 217617276 177957503 645605428 312323763 994959506 252280005 664074140 160945530 950610545 250752370 464527522 786393819 744249981 691961578 758314333 869696502 350159486 576526715 879824081 168873548 192552096 403576169 773955058 106671420 375667415 665238668 112598967 635004946 986389414 280067430 615053601 699554909 509864735 692502853 602918951 834712308 933656188 516947321 996615217 851322224 146739091 576902284 732056982 958213239 300707993 213543666 283824759 448740382 369964537 661836418 274972625 885618218 435075883 736061062 329357205 518539039 611626451 309020890 380694857 569628604 234436588 673256141 125661532 996263838 141611300 819135996 737968800 329809157 124818015 283525747 378449686 744271262 416849326 565306545 317973174 626439530 193630788 398955357 419244036 849419613 319213107 504555663 843161869 913733035 190904250 987959161 154297330 342773554 472533190 573505104 964242033 607353408 147304903 858558831 685690693 468279431 718487581 969032774 663874775 738044943 132874629 140963217 128567096 403282614 826190647 855892778 145571382 439458852 196104335 967273313 308776234 711357383 510421051 947707294 527152219 491259883 623957865 560231826 308702689 147597415 132954635 726587552 725858076 260114444 807550923 451828931 758373251 473020541 419778827 500974325 245662919 708967778 607259829 896909235 587941529 934567853 350657734 791248382 680099777 828657258 443395318 357968536 431855768 252934301 758275108 787735555 807166933 828387082 931307715 910748646 105713774 470171697 590625172 519459435 514440324 715705102 865204337 693781840 181322639 499328659 628457214 522933966 721520620 728873196 318159929 443706008 221544523 674842722 839084648 456605009 820564572 140349755 586993684 738731211 729240872 106081499 190516915 659904523 558690958 644530723 544810319 106395724 883917981 471163286 968765154 252271408 911295349 747786163 708922220 920746807 667603150 173180566 434767695 733019698 925683991 637140654 653300550 681515787 976041732 799033300 338937814 283221937 925015183 550584928 649156987 374433448 746358451 706181665 149595614 801439891 120836974 338940639 140826659 292058513 487290176 668131076 908935349 231132249 415247229 874517633 509055653 696090626 946432485 859767859 553916668 855563817 866255321 764655115 212607583 286967019 761226118 941430799 358260721 489949930 943436771 684254067 426176959 820582238 242021241 114042212 504278094 295839995 386995517 203721263 494661653 757002513 131191098 483104223 107858247 202751383 222139267 839097815 644612672 235603088 361120003 328975360 630384061 744458780 364812608 353973699 226327364 253757494 535255842 959960074 889787514 793648177 878336422 790737185 848782286 305102128 218575897 160053050 320379107 106170754 774403572 676584950 982119023 188031734 361728198 322465280 560671661 128913350 884706656 346263456 701756737 680429526 209043039 598448551 383153231 456476624 345395490 838934161 122146418 131453651 430278769 193012280 799253790 281670636 602088680 935947241 484202616 732679322 792215211 690597059 168818710 951152341 936549549 533015768 608328333 314912843 327612470 726906134 867104882 886994443 212657915 560304631 548818584 394116740 414349546 444438421 241045022 139434644 445121075 284126640 797191530 585875158 200063709 215926160 965434052 268026245 518724273 793046858 313248858 608707382 441777131 436268329 271161404 993885969 132292988 338573934 415911964 634440440 992224066 826873825 595312002 625409405 696869715 172210027 575128422 582840784 817956729 191088489 663510359 633854339 913584703 214524461 835925463 510729823 986335487 602127171 887003943 445385028 946772926 584470229 219180425 661107139 846859886 378762886 101116336 366787759 409176353 346541203 581659668 733452169 969037612 976979471 362435652 452959582 808642586 498784900 403634420 201415233 201406495 581644733 325188322 284012431 256426538 968152650 891863050 466287947 358995789 145859706 838878380 648549208 859718689 686258059 288846004 457338327 495910439 926884146 330425841 790162377 836589534 664497700 986290612 835303031 820069586 515373730 469347126 864011312 477875121 970376088 911083983 674622039 104782157 292556745 390955468 539150928 966929435 808619744 889166231 695700546 956945293 191927424 186861021 348721835 195585691 646018999 219780275 216503475 346094463 924521034 147841453 887420877 681671247 674475831 839045983 763591055 866965824 869439372 755320339 134778140 405040142 887727437 572462499 331936152 120717026 428371312 514855807 974665619 363727098 914262474 503534414 401280347 328653913 955770439 772222427 549551833 649344573 551586730 929830715 930566532 884843233 888669969 334482469 347845658 943199780 782160800 125740814 513068918 680109711 858604377 956732945 929570939 804856167 541901930 145496763 186970688 990179422 513325054 205434097 169632486 496889000 453447752 208090316 763098201 847370494 878297124 631409658 554238234 718552917 546326375 798757034 450943801 585040288 101865961 996707527 148043572 218254694 515988466 559345861 157560931 844343247 633362122 381144893 552888801 597783333 753661298 751148418 492781277 365558792 575823177 864201261 663674061 612693449 598531494 963510022 554045852 206049274 842552629 839537056 102285784 863187755 193861941 423601255 463602475 467394058 934380235 772495141 603819739 173714216 423740578 154405516 897612472 578343554 191603210 226840942 649810734 361382614 631371621 992243262 401906625 142405914 683747110 485093576 380229100 499247939 576346472 141400300 863492490 492924658 773118820 675462273 840538832 210198598 543781878 784347636 856623798 828083295 218798681 951594845 328483630 514020004 249887782 803132643 213728780 578212255 283609253 379040901 270906488 571834049 524001172 506423466 902645103 341546779 638272436 362292943 276008553 825372444 806598438 390090844 707664210 365957439 156989775 710222026 614094154 267973509 801049824 381816920 154591030 229047752 636918468 817862921 654454571 381390890 693824547 647171460 855910087 957431706 616318430 115823918 826131303 880110097 777025167 455306868 926866856 148233187 710002253 833500563 938375464 833415503 736430134 785453332 888978419 894283677 941868670 747293992 795171826 524756357 307157693 556407877 294738139 791130898 321490884 680304682 517557102 548024965 241468898 573096973 945737588 659809229 255187922 564803288 315987687 607750603 428861253 702253330 121868751 912009783 667188344 823435050 540936704 590957447 106358639 782798088 656024152 524873700 195026737 528885196 851519532 159183244 821979529 622582857 136102158 369998699 137259510 831334053 817408244 408526090 359928863 518204268 199236175 940520747 464613655 173472372 431540263 485052675 793140362 721726920 217099104 901788504 787149884 748701171 379704653 491036880 420517229 351769297 504782163 686850660 324807481 850204644 848917323 315814413 124706016 516979860 894961315 927250140 647124708 599848046 479204339 293439372 957818559 866833666 932413739 932558074 667430712 621211775 715845856 587933040 206295009 671580675 785974628 152634011 287526471 746539244 466295577 619678266 207111129 605733152 423435056 388695184 733305237 308391062 230849912 198294352 815801744 562744944 572638319 593516069 610558106 914169655 376878511 140344287 984131620 668979949 603528487 465756025 421010935 699351283 951525241 123789983 512906631 566364102 679277560 682056365 574926644 360388757 146615493 477074964 292589012 199165904 285899641 226493576 671241604 257496093 490366286 949467523 510628811 374350760 685080070 730607374 803646988 494280929 213915272 316729335 204481139 262130459 533000147 205698486 453977479 225554715 120291869 940447652 485430690 329127692 372977564 971299187 992104764 153467583 901468944 200548675 749278817 791068421 800467221 571004994 999506875 319805388 200151141 871702857 622753157 995041913 490311537 352073960 223744040 210082559 280633873 842237984 735650948 300388636 221239974 233210086 445334266 236225484 870742186 518253249 282801077 680177957 734579612 355266230 954166427 569521462 344665132 105137080 469586680 268343505 709571209 291456657 355681269 995455365 858395231 527589209 401005814 308687054 708676279 899248495 392035937 784894930 244242607 836679423 196223117 532874469 974320894 453093440 526677814 565213587 772025919 774714873 789460330 424936629 488044866 953033566 661242625 255742388 439550552 409585141 517086074 836751678 120574773 771327393 357462054 698989906 112309568 376461051 639155339 906317431 975902768 517990910 391942147 516111058 210051804 398936361 798489891 580143263 511392695 222368526 700485298 604921840 936369451 593828519 930249040 460171503 666143503 168667293 325832299 581255584 897087690 806824219 751492714 918299231 173341355 258409445 155566554 836780014 595454881 901083192 906733799 167710662 329219009 661896539 939486408 134506336 658025066 941779015 333207079 531237025 305899187 879589654 743528933 600038952 466510841 252049307 283069973 370718503 311053451 321286836 476514142 629015906 712545915 106264056 777852337 478248690 431963199 568248410 257362158 304421901 689239289 146177319 779665758 943476309 699954304 812056804 650788731 549328779 380730077 538575797 297560674 838233217 723539050 672735435 227065393 948979480 795599519 624733140 171645798 503991736 392587317 557948919 839169055 163518830 394225333 385244133 656766889 391484899 697598817 999702324 732474105 990145920 126121864 342729038 302493083 777250723 146949095 137251165 486824435 101373497 277627324 779063867 455482938 847045204 481712463 909382826 486501137 824781292 672337440 268293444 648713177 401530263 951430475 549584967 462823632 548309310 903600996 688686290 693117734 400170620 839736954 699222986 489497094 350881256 775170794 811213396 727113117 835554167 727823343 679581922 332982417 648783513 212425504 986589802 806706412 978075434 344465772 894734572 735822883 246277220 786883713 680145899 676436889 388256875 436395764 174791904 572533099 458260895 300724265 842939442 507133239 723128808 395138485 808988991 164925555 110282745 706108328 879389307 664965498 602444437 640550421 144513005 334861835 100020826 339567347 626584918 702511859 457742126 495933178 326738233 992694788 739703084 479956755 870827188 650691318 606779379 646835853 121627979 643695152 517564825 615012169 133023175 385128509 194093608 889384368 182339861 291002395 647139189 635333507 183147392 614879196 834886930 250534186 162865762 523950487 351518843 377786216 739729791 759350417 354941136 705013087 205020435 404057407 888912776 824270257 856037340 323637602 448435571 107504580 663993174 416151123 771398086 279380795 843914195 560288986 900185816 410205098 307094936 557484877 854241555 720190799 520735935 962177728 993939271 624395651 492502561 950389632 326511878 143625490 222511519 805613520 858315913 491022578 285716796 873602559 897812015 209951691 941201582 398634594 469043079 906762337 168906630 447642757 113021350 133985408 653713775 944005583 485661149 746881306 555490229 361640724 959464725 372840349 586980938 396488200 138803661 681110522 739612011 213236183 317370890 677699940 431671891 785162202 247222090 597336108 109012488 923050136 502966792 403469768 532917280 844230496 602091695 810496518 270886209 890207236 842627111 894479744 727638972 245816883 608615179 905458901 733863422 973943636 673268229 191334965 910413103 877796276 283623948 740167771 152228510 567238267 456530598 330919871 483792414 525807244 501194554 774892614 793130764 816070160 523970847 565250039 332378657 101140084 398553690 987983293 797876853 516192220 762716836 356105523 877862482 952416343 903644213 415952564 429082541 561281839 712909345 732402979 599930992 203578723 497773232 377290989 550856649 710557551 879404939 534566989 132201255 197095205 589840306 661593163 178496173 519631653 695081889 339624330 681326454 364039240 713288591 194786083 506848368 565557688 158604458 835263680 379590906 411539801 937347664 823500420 457881543 908085455 253873471 507645665 767932950 940732483 283508003 905969189 968487693 795751784 405030202 236119393 599132212 928810885 355617457 232857290 818269773 525547008 559026715 851489793 467538919 170689539 989843094 742808646 153915106 626147707 315126939 703772695 887511587 560196700 672191493 384775869 904326651 461666732 354813458 255172411 492527280 794985420 670119980 870784798 254857885 120152151 861373848 969676835 387932666 536566250 500596748 959365285 558567025 226569587 378811371 757099728 949026619 169837206 891423988 739379069 673748228 796539292 142891015 633194331 437498988 824481451 569305809 339360831 314895202 259860029 954723259 327257247 313122936 932410566 276043225 672337484 558350622 993929125 398075248 672857446 710494621 160084334 614983812 237833087 233621451 593369947 631975163 133411733 519611153 721129358 643058721 611182748 440733023 597613491 648863660 456633209 366569709 660148261 715118495 672785352 348008255 743510765 124243352 132880828 170508022 949563105 332099170 650479298 157374514 513370831 363006807 806447012 224321426 152356643 265083252 427798026 849887553 637813500 439777136 434637479 260661196 470423351 397071042 573991536 217458694 599072223 117252399 748640896 868091928 138526933 899715500 240228778 968660550 183289674 921370175 126966357 252939112 190410801 799035584 325162348 235653466 898303764 282440770 477054641 601046212 598522451 260880012 908759814 163351814 388035382 845625728 610684035 282987568 917505924 140738846 251115113 658792380 218566259 552177706 358398618 108985900 956075717 337715526 639696844 915805747 484771374 707083687 997911165 107403910 905956675 763984036 816105468 252763345 315393467 534855827 285855227 718132174 681818890 123146394 157676834 195079063 115663433 536854847 297829534 982508918 558074937 897447669 123825021 363921731 514462993 536521127 149709083 179551293 410957916 937667967 182596613 536943292 880845377 360723075 462958416 866028630 447108949 651863095 880510532 224105363 930313970 135410395 682267096 590959485 422186815 696766693 746440886 637572034 176390328 280891018 831306082 499523110 461551368 320730295 752084238 283183461 477286699 718312663 720560970 695120666 411868514 895009532 108699766 875185600 431313056 492582461 865067873 790291419 578283119 737283316 160270358 979797939 310468740 291098287 359989691 626918941 172067744 132116617 423957274 780355713 600343586 918834053 243762633 960477346 393656454 595869162 569539347 232776621 754583908 658787239 573765888 774226322 624342473 540981953 190942926 251616465 839359139 948395462 720615533 149658185 707779052 367218409 749531877 302764390 219045810 700015346 903270835 837395469 980998992 604246357 934576114 918337749 629625839 958463885 143345175 914354192 134934243 301362022 343408718 865635947 730396887 253274822 152446721 516570148 229603660 536314845 841805424 459292316 365044237 996318464 500340546 180267409 250607070 117101548 813609131 138400782 887093590 484760261 670600804 935576759 871252342 818320482 409134780 921162657 101274449 664412559 853247007 442244599 950623968 973294532 819873825 426855703 602456958 709802541 638116326 502147027 622025970 849236589 239764988 549807615 522848068 129136984 553083868 100696287 641488740 997572682 512731970 735041300 421947876 345957935 951394404 917514285 259368370 343073411 777530769 924894708 464222054 780641083 868832350 604625082 866920074 634231986 820022109 373687555 265488127 235958393 266860761 624646527 912173560 830129432 465245025 942144320 546314792 115194272 607592240 819869566 393376477 132706525 743467576 950871573 618466274 110830480 871018441 172652381 725659341 420178952 320605551 748667360 411202859 606616351 622799072 944695459 693549371 766554254 374723990 153949261 356679621 313186901 203357512 355275296 580070657 612048889 421588703 861088903 500666928 866094933 343552075 334274237 480984316 836491570 741512590 535858283 313098989 876583111 874638191 302119078 334540967 552339335 600193241 217764960 721602962 970563980 762083734 936858597 423714699 452615488 550844040 354639402 567229547 527844123 909763490 938175280 920881154 810991271 106207758 308475173 126970460 347299797 877569081 777277745 802438868 198468459 359169319 690613597 325867876 287691493 939932605 312255688 673390170 188217439 775326591 709365365 464273458 923121044 243193127 271030383 444605815 531678885 105522596 233050839 701014199 771482581 855411105 671721916 473741097 757335582 554541428 961367048 546163233 176474698 746922584 414818145 451542108 670623820 130154400 474314036 825605721 621926993 254805001 276622628 967117894 327624805 566411564 987965248 822627614 276086176 495213753 464687949 752890076 291328702 311938040 177828556 215224897 154430463 756226255 246958543 376777471 855499972 798385320 858748904 843176949 961626568 942840382 419957916 201930859 172433233 165304472 927887056 935880602 138550835 196349210 831906694 581349008 286250966 972159560 843434980 691972374 894071464 662815427 876649660 936130137 760082865 410556555 691235924 772425203 748339067 517375165 322659333 446716670 790946322 735740123 157069001 196954838 888561064 215209629 389808030 522355762 102192385 996051446 762525317 382858853 308530665 304253791 894560443 420694444 706709897 599735577 527547019 443387302 203882012 471538947 528839353 634394742 118110096 547614848 433911853 499794061 813757068 346693101 197889586 846623716 725791898 748529405 321613139 461020850 709794649 463212338 824011391 350747909 150922894 127488827 274010406 335255833 818166567 233501568 917550866 964881866 748405455 307203393 192856505 459039566 257074657 966592711 776573830 183692943 383706752 745397676 161393798 421401576 244157857 698156944 899888603 365959626 818356522 253043722 965747393 613700204 958001493 694292991 272312058 639344669 226146557 496595715 128095758 853024602 797406260 921117118 332234370 484503612 496676467 289859241 273420960 773177528 841615724 757560665 171890796 896989495 418532346 461677123 853427376 826791352 735776334 786040128 642258082 314309904 836150546 676947859 279898417 869710571 787253478 490733561 619551293 267914918 200293909 230685227 708157973 674978763 947432106 598954039 874837142 770912102 948455191 261935087 269324668 836538912 725511459 999461438 817535679 468480463 411431360 574262533 650838772 772234279 940221760 264439905 500025063 202168136 559498175 533785411 835118334 643103063 932587212 765966106 546478176 837732061 519729746 674706013 144394222 834907202 902725366 279847042 287242734 591503218 591842890 408330089 448454424 793775923 680809404 693264975 539906093 535580859 179362294 592867215 744510633 741900484 714111653 468596682 921011418 659478626 985662580 896056378 754327548 536067551 960106894 308639268 551554003 347569441 194625908 659307212 925418879 599972904 961784559 144786777 774494408 643672181 189866937 103920511 261569565 129633926 733087252 594869738 495466081 165447092 798891540 516017655 442522781 718567469 325941381 880803052 409759651 573026970 714993409 175203358 235284238 490982519 289044170 709837679 400118094 261684098 437079989 208735355 780165693 720953589 842954451 262820993 559462613 300757754 162057238 143259001 968515032 309146762 128093584 302422567 790509494 677706510 909500115 428647824 411832878 541660707 634434404 996958732 231115170 761168216 283768253 664043991 805903330 843542521 814696607 339722400 980694922 181605197 319589309 267911430 695342857 929929970 559335723 639447591 593052101 593916179 772410318 876883983 320717463 916504525 990476417 985077317 736099442 460549363 741524722 857107026 800050703 551174220 311236218 328534286 646956343 147272126 323175768 865981173 103034663 587627972 850967783 406947428 291766557 876887969 482901315 307950092 514711502 651367781 910668650 964057008 279776226 985229772 853981935 591794908 623076112 166155683 964157320 911025281 381350413 500769245 269109972 912021154 593840959 429509982 663932250 270229132 642185799 976713851 126283027 976594099 975077203 597033799 207661982 679868280 967057827 760732289 103449903 316006917 680978067 722314555 822188081 448609260 265178188 140618505 940288808 824177508 347857747 233510814 990365083 791701355 350891916 260696453 178061708 655743639 142177452 641092026 849025776 814001527 779313126 161226009 146177253 303509301 777057884 838011290 943815936 246684730 994882694 503360307 146949086 746164055 818871605 889109763 472561805 797961673 115939413 653347758 339502090 878561314 804696763 872656816 447660432 579268806 754189614 222233487 131619159 499850273 658560379 347041445 209605046 649677339 584533907 253250011 458626694 613965287 565458600 365384308 575638663 375431173 789172683 987055294 541965099 551916831 261389645 145057393 781592719 584600613 812782394 821623201 603455738 761124641 214632681 704044450 103603589 890245712 488883065 689678193 946794295 264902418 335030804 615419980 277152732 780881401 768563354 922862068 271490325 590638769 504186193 227403409 962793980 858671829 591724287 686588498 732406990 564977465 360516217 186802370 729194839 914285909 501585372 951141986 162304545 798879542 420721325 588388084 702451055 277000460 340767683 548230635 417881456 213520190 564069899 263346753 149923599 736914256 412365936 173211913 934297131 507925654 729929420 950970913 503520405 576146123 675047660 820427854 435174881 301395567 312265154 817500404 929199906 215531307 467157924 704769573 486122123 498112893 285755971 361648462 355981770 289783120 787958200 350792908 442120227 954713821 584433691 196711868 452868276 128218943 914677097 164744046 911977944 995931337 544510717 420882584 444974146 713097807 577564795 658606562 510503204 601203255 251851092 240424216 730103919 558751960 980148662 115183768 189013283 791112589 695944451 472877758 813718088 255209885 798492932 665307522 798914259 232488177 224385686 962807467 912879573 871399649 955323847 129433887 547526335 395418293 757457304 568982347 349255823 622570927 572332322 961211360 770384936 182584542 549739093 511734249 468670844 590313023 861581119 592710494 177892081 609357345 181039330 649049197 537927579 747157296 660109694 497988727 714652743 480850620 421542357 899281010 304820681 336202461 199308832 408205793 469102685 207424483 367461811 806108737 309988717 814268924 761152289 532371204 257400859 883521309 812197743 179828158 378089543 924512751 872301317 422420803 830981764 390330622 150212115 876339756 407870404 203651619 400735410 839458347 624176085 840710416 513400993 874422727 427497737 421686840 691851718 382268185 632115341 935069040 179340942 283708386 708629477 492790132 964251520 981154573 711734440 833339010 121540087 693543379 783840003 824172658 710087588 188267334 765620579 246780795 821522618 251341561 479353592 709407888 215507507 395387496 153727363 626576025 706786040 355047179 352442522 966398019 336960297 614738554 345729292 909531652 572398829 996312462 687231893 622525890 598845381 233018281 573585239 695932030 774660212 393036264 397855203 307746172 871656406 997345724 184187792 513070505 962000142 974410857 950994934 105308878 116356718 592298684 977834189 886093871 822256850 547983263 982032391 196198946 206843778 942819983 577340681 293076490 419242426 521117948 720304617 882895523 817287492 413113810 277348183 596364423 888771448 688514629 246961281 228706237 983421778 916374668 361314098 981585553 562856115 286884336 921399581 999283674 206700535 161710588 608019097 812766239 509297287 523387626 777693248 388322594 977368212 602049825 531413417 544567021 409199888 122742285 445312418 789429975 878699423 678692688 972256453 583400371 357418761 844604283 222471256 604785651 813478760 733563981 585501151 393176074 547467676 173767299 946561079 128868247 688386657 938906612 762501352 976496354 823297417 340310821 963862232 776664035 430535706 999071641 986527627 582954498 556344314 666815384 327123512 558345980 416114098 734986746 732008277 400772559 845325818 457834390 145056713 650446275 971063533 676166379 772321258 314652828 998441911 558310634 755950564 651504298 272441129 999507078 213443107 341787877 520163386 344874616 220036517 681607360 814000344 135058140 778423246 768716626 647249939 205805973 290511666 374924920 412411974 450137697 767722093 121794576 390527473 499539775 291456176 448381888 359147988 981208397 742889883 304890552 713271499 515490618 805611333 990521804 368159155 675614103 916694307 279162723 457359583 836072377 487490517 218072275 517558114 951418218 916568237 871176203 436672273 801853326 526067752 735201642 513207708 698241786 505366236 371305781 196561816 873664334 979926516 652894217 771998445 787429739 400589191 226727483 184203221 730630708 987313965 815300385 995055785 558257907 877689793 722618657 470665883 471356775 785761992 564499628 730285152 641951924 732322622 551519175 694478567 418075197 118018549 474009588 701583782 238601511 163036242 199918627 850427019 586306790 162027136 998625598 108234795 308391879 278141749 751850488 889848798 908951699 858388704 682568552 945967462 936050198 470303057 485254085 111274490 268871691 519718653 254597309 197722564 176048974 891577057 603747181 631596263 320819821 289673734 321041510 484289100 211475045 757100895 471460796 933801142 847338581 648028285 555087812 954017333 278297306 841498460 437116222 908425618 888450245 818683486 892604073 786182781 215106288 550415412 837682220 545432530 786673813 913520083 529326300 533271392 396948163 769282963 283438873 663244144 928334506 651824401 995566996 778062555 739836481 343801673 829812142 903769178 610955918 463017380 779586075 867489037 976627769 475272570 787074246 815979683 571580703 143527666 898336130 799921374 855320804 485660886 185672396 758588132 544369148 865733231 652607562 683065173 612361929 777261291 703336024 354185892 120804842 905927542 512470863 320645768 607272604 173070862 108855334 136239962 822941461 819979381 125250924 210710095 749526213 751748050 247387161 328620034 102455798 947116446 623562203 592541162 751131195 548038834 418295914 937180373 414678230 668545613 695882015 142846505 506631333 229770301 505919327 477377427 684716834 588198088 842467967 124532724 292317072 359224184 170219619 369443402 378692175 510405847 877616899 279942952 276320715 897285833 565075537 796157875 261298658 572036952 941405082 240148586 850040291 104500227 391048963 884807001 232729018 567564111 372845200 558894297 812422360 310849757 311322444 932056064 951612457 860072946 335240570 433348947 895948053 530472437 920641857 296571404 563170113 557593875 429426321 375470815 409135893 875704084 196210445 977291764 290490667 461615021 303420895 792908925 359269590 623555326 583238154 753659864 736846128 153110112 799946773 828976477 775585658 881774404 926339325 744650373 600566097 420105935 153242415 768667060 558069749 132188057 445403802 924822125 647989381 708080881 957442207 655566346 328525695 567127541 300284282 739005683 506499305 646686757 308716935 142930629 262003622 452241744 570311797 948626359 699875923 182411668 157114444 869151347 514032905 809616383 471004854 334541405 910935178 887021437 931312250 526997042 965704929 864073152 448578498 305548054 860460108 876358016 511202488 797447317 918385836 983842230 991717782 242645378 990248156 237726750 440846914 865935953 601534723 247967719 857184953 938244630 734774216 468997271 538914286 185726602 486526199 327026650 623656865 980846655 560530114 508954303 781384705 540596842 982196900 519004426 551964828 475923946 463299093 283600181 313139730 405402527 644848767 258107155 754012270 303780982 993186308 146920658 599322144 684461974 638217950 829867747 326133398 688973837 116592178 953635711 657537190 597393051 876269066 690267416 271577263 111864921 254304466 627098901 386983384 500451904 793008675 257807851 581077180 706947542 254596259 846193926 234515416 245480856 629616721 310713788 179988709 936020841 226932128 901150490 830271528 610356952 580911096 133531199 179457868 585865365 153561316 444605319 969998188 656883970 138838787 294425407 760261021 143520764 566815702 397768964 359882848 284888680 853952721 850858118 100511514 370243612 646422235 440456725 628867275 521796911 356774744 484917858 353366011 336863401 711605187 920352197 821199247 396291921 700115122 413932233 158284829 399030205 595183806 754507936 135656986 185452438 821078431 507383837 254948442 420760466 419663038 255220903 568727597 246122637 444301024 421454485 365055474 515534705 147318998 293819903 768408124 580198099 187211135 536753691 196787305 615587189 966196263 537435032 760261620 194602346 190059311 376851597 427493243 711997892 147409291 374564557 142314218 853443304 633743819 909472979 933708639 486641621 641800850 269391515 461944993 273374493 407703938 568769307 894589885 373499869 995541024 438756264 929424300 794707751 233654835 997161411 209206944 808195881 971647993 445993996 875216101 285116082 979464025 529101765 439083488 665398022 879998996 254168140 199032994 292738315 792527257 984802778 120632276 301597429 662900366 916131687 681615517 211992162 456453059 225218937 987969051 857305877 540066019 583006453 360450151 654846885 988669463 556165496 376310126 840986136 105039357 404781658 283835270 995213257 594451575 307293722 402355396 286422265 620845436 862736156 257130387 917562327 823278433 101623986 627385404 515280793 394143310 946112586 975970874 525364436 919334143 541805608 366146616 257678728 161769813 850686654 206448236 220301689 600040106 960679835 665260546 143114985 278229020 879185350 626620580 111076195 328221591 133821042 553512438 173593271 952345909 568060834 310409381 618376991 519328825 685808140 346866762 881145301 429370820 275639089 760936308 232272401 355229166 304777776 562848540 818822434 808316985 809176793 464163879 992797753 524379798 985068056 161486117 421435637 903061792 881376832 478434566 630977431 688414874 514981524 995194618 372768249 689897847 580785398 488232292 159801609 600116184 416334245 796717837 680617268 449937571 109812712 157764830 503727306 953674014 748513231 180042567 411081492 883138645 165183769 472556307 601690038 135467074 270834272 535131734 398300469 299743655 484625092 182040316 798661304 164133732 761006078 406416388 493683514 186059523 810622626 593736192 745413635 831378609 524004353 513329572 232671438 808384883 263990171 334476118 781671048 872521016 574457630 158829768 480870406 261017960 781214844 748848102 641433876 171617178 754920890 915828471 523903985 680322334 880921829 176733177 642359567 654278072 705414264 551454401 458416839 827973694 562782184 967059481 719976006 129899140 531022082 640342025 558237266 418922944 364814629 793889894 913420682 345807533 401713740 586543149 504308392 479346129 714280218 566513229 244731835 940189472 517186578 511851109 478884288 529897923 756135640 729978854 860778276 417089922 950278775 132424771 978019736 847386724 638757339 165398372 594702208 223934075 923818404 719951426 742202046 832241073 718969497 234369937 897533297 755921229 366852722 189671379 484444121 928472296 414513779 256823764 429244410 152515539 487370684 945351908 156819171 844737017 333265613 614892307 759835195 369118998 628220337 322231310 714176569 994011764 408314982 336370942 345930797 180942392 742231019 519715280 974133551 766700494 439822101 811967683 524386311 145398288 190050380 376635261 507644948 112835334 211547746 796553943 125093113 870292288 583608853 699059355 152832540 163505662 925186492 425952005 979357249 823876086 240638629 321349772 448049617 782777684 191354058 518553845 654008694 430307943 236406299 784423486 959030856 995865041 177395723 865488383 129075900 176645596 314533379 272175686 516384344 964853297 630609224 713357032 516887854 490110899 810534582 312353334 970527815 926716868 987141957 996014257 416997996 386868957 124811949 981536388 141211950 904798892 355785372 626868010 912856841 496927306 684695010 384514168 172141531 991760209 140706790 874328227 273461520 816197728 377998113 140348662 641570647 737875459 574965204 884360526 417726965 727833410 341232488 303903398 552856863 755635624 908648391 242672600 546072225 685016067 320423030 933518937 887016682 677656129 929658329 496176166 506737490 713140323 723389858 276530313 662678908 951562452 303399096 662683436 176178984 805330262 926543977 505017711 216421886 121274326 654085387 292318994 561246896 377930692 618748555 770121622 528212017 643824027 500114063 444184751 247161153 296185197 566827525 194781423 352125241 224690133 302172086 709684726 908651377 636294617 563894984 194551790 405884743 837305431 512085932 388309869 941980219 175338759 628731585 977055874 425893513 570528006 607174580 583498718 122119179 224225130 651661622 972499855 748982737 883441015 140551576 558667594 153111424 510327926 655684253 901561625 525598438 723281590 746593952 433202129 906329018 290245636 536359078 717586056 899058766 182887368 451273743 542525136 638243274 428566888 656565278 427166045 556607912 898351223 558777256 987775854 875526186 252310205 179538947 734106344 831511846 149753934 606836404 904330597 332968244 243570752 187513124 189094537 211200716 766668979 546506132 586180078 493217505 181718612 822768722 732006479 808139736 549601655 482349410 773094095 447995721 769609253 160769572 212356749 900439368 467547880 603250838 494373704 839789773 138206113 711900718 598682970 850837721 813066386 312080155 982124135 383471310 530748371 406472747 477489827 647398025 809196671 371805734 550082101 103434150 617748128 230051520 810111528 577730045 447516097 459279878 110120741 337085487 646005794 579312891 544832832 453390254 884043435 529348278 944419666 992032564 367391453 233255678 226316137 654661260 890755341 542299503 862584996 153321680 169286784 566634361 155106622 273672808 654875707 732492749 195133987 348873378 106215718 418486141 896246742 436589390 427058207 933473547 336705263 945187721 321330304 151465782 575455048 378842274 194420768 795728994 860185558 176680704 192813697 520687612 624239115 300350591 673094557 429292184 579014685 923786559 714867928 420262514 689567072 454828353 924287257 249986735 791446870 944821194 555813625 922477505 146582148 685527680 225530565 338834756 653141376 482068816 945354843 750662472 471969932 400197384 797980330 491219302 974452916 566491577 922522068 164437995 414262905 204962724 224892554 399649524 356587456 737649474 438132717 566990020 739049206 898079756 194296213 512117366 469516717 784668714 875756674 381721342 344327420 510685937 431631209 462221940 756114262 792227181 824760573 352915303 575305004 696326134 956619610 206116369 513256396 217176658 507148027 473847671 787162730 646570408 316797626 550010129 163642922 234870084 753618411 201388064 542443417 978084504 406141531 913795970 512696481 287658324 443271585 919340033 520104688 246238231 966471717 672970762 576531813 897654194 236739821 460337104 930126570 349218985 657669273 315234504 567888416 851314587 266696760 416545805 376344172 560027055 719902255 548777182 594297154 466364175 554429456 730841855 169704438 951755249 485268902 308874722 825105983 526678816 288936959 413658227 989672218 736098308 874785669 398833874 987815752 888087405 695078467 128845064 584949403 941435505 818390519 686438921 663647497 223012008 165584563 956588670 697480936 263906029 275453061 891967528 145724559 753723935 432212512 841250706 552718387 852268413 444038980 123753290 437622796 963191605 843592860 789258118 538996206 838884038 652443672 599695362 253072054 839334187 155217117 237426373 265710740 604481917 827854651 859485050 222603216 815013409 254977339 632330876 653579790 775570688 220854034 414268159 983670005 451845143 647505143 563374040 706661045 366647152 907418491 875488958 570786857 322321098 812889144 144087418 127094895 658602072 385056538 932996194 885987356 782945210 236519014 476306664 341377231 984063194 116560878 539005281 721453408 234007101 295500052 645816459 993646108 715704636 338796751 433994157 320179586 461352222 483836732 461416833 598748887 448420892 848162902 900097130 499703949 809229471 122992491 546749907 682378343 669016895 922686043 121312895 472109596 503681022 383516729 322827748 958360328 495494163 533195451 765561049 428299841 196467085 585580166 923174303 943261750 774157748 308122373 568451650 796865901 740449437 633524709 175315129 601040806 564939986 133087258 240869477 318851674 497725766 326156716 492706590 176399349 821450124 564568213 700684015 983247487 871955710 196765591 729965459 705773836 635448538 365402268 591253257 538473230 850325139 318282990 972987249 233081780 245022078 821508433 974589280 989803215 206454811 993339180 344999346 154560689 285597938 962555333 653789085 380671704 210962821 310751934 238696558 848909586 690482957 732721019 551757283 690919304 173024263 561893276 814650492 444789168 807900009 551466198 621681180 718242984 921654070 726754094 784294165 529384926 657276351 768151100 410104435 576968370 321761549 382396762 786805682 142202549 919906365 722886229 881476703 145250189 699631548 527791438 282299839 107877129 160798910 838016719 569072635 773862916 394536118 857944716 419121848 517285907 592855082 385536677 780661745 186762312 593323622 722403718 937286990 910619178 183495775 907637489 378401187 584500697 772863429 887049242 798334816 571880875 798306834 672761933 263289205 773166739 899772505 379627475 752865735 718587394 126766166 312325333 360389106 539172308 842525755 817076835 161264200 327158168 315687192 768846458 544500695 171045956 676497872 212431130 540848239 105739481 746436048 743288739 268739968 159624516 269036669 884635840 779808299 387796060 474567968 511934599 472834323 641425769 700079040 779052055 297310938 574190648 290171449 493991587 642755411 944179510 588255684 172438895 597163899 876506390 643033936 215760935 681099440 485959070 662925033 929146179 392095240 869173950 945595818 161629086 602298571 275821654 291994797 263934557 865714812 415224454 998909550 723442788 161019870 341787086 790846003 591074332 112135274 861119304 359353485 742879403 617776359 263334378 510573139 758577792 962483976 611642672 330797792 623548342 836930991 219418633 934041496 241635207 584824451 161800896 735505796 823858933 316235796 450322097 968581247 308580715 710488705 436105933 104475775 219433405 912496752 986182926 809939489 754037934 104782499 248663202 830735684 139467076 918836254 186026056 731108259 959667799 181938554 814337593 361507583 326477967 451332665 844579440 267895193 550579886 924864380 337559869 790651527 435969057 529057565 488435102 586675160 149715400 197647736 660200055 754846922 231426829 546545162 927180214 221592409 962108908 651645312 936534257 813849372 587448664 720114363 502490526 146592791 728145343 653307206 688912940 249679839 246285239 124930577 572084736 385102622 581371685 334689755 925953205 831057732 683651330 498691295 101389256 406665762 783529904 406543336 274307527 137922997 174789790 663801580 914550428 644521593 737545862 321442677 265775132 227238374 357397304 129928423 597325583 874096267 639972309 611542923 211602841 993175321 646996182 336210537 417262608 845257901 470766642 365643101 324892323 540714141 279106116 350344866 333664104 521926303 821536477 243907368 151033004 584342220 896737975 233149902 329627420 671433909 657379221 588235233 723684539 752198595 611498293 160591511 636600957 998093423 839160590 113235364 274253476 676182701 929960642 788985982 917497064 997196258 839420111 360286378 959138817 563268358 781680591 379049640 356769725 743922331 142238670 137766791 513930413 308659892 533398511 326481663 492752751 708034523 174528556 921475008 123327098 926681748 116190425 685700858 923766638 888159149 929090075 561460736 255017599 654700982 143731765 594942469 203730884 134315703 791361462 362721205 843680715 357304671 568260287 148148904 888414306 557303529 558877899 465160273 850472726 173886993 955157552 284253778 184015287 316870833 118869408 276988637 730168861 678177872 603707425 727847359 470462309 473200309 715930137 231431920 319414895 275447025 545726998 715247175 377126155 328916665 231895271 394459235 510075969 783174061 783754271 504184504 766180312 222388301 925360506 510275499 626044478 904750989 683012195 919226783 552221059 130450946 836203257 814845653 317149864 567918717 377730349 187986338 748972360 621920876 679377893 589113094 988648823 980266251 295906367 222513661 671604764 195310880 218228833 780289392 411991743 324047623 122000996 489757171 646910629 472518136 898145896 719429680 511660269 535234932 526130844 188257844 817081418 284196478 854067950 519856333 731653381 401728063 161033452 880819114 666865470 256212353 980025007 106355546 919809901 112696550 719159718 150996893 864257984 906685224 556416785 252443140 374056415 753441466 671947003 507637184 569870424 366242532 372818745 378511968 649908382 955864687 974620975 478563190 880837910 485369709 977646861 458553982 550229075 398285581 299512578 216868530 238477387 495564222 174287258 120322347 274541952 101799265 860203225 201574191 645674211 768724913 295803100 788805337 505186101 564057358 717957373 314220093 630620343 468273187 482031823 225324605 770226181 506614461 777323732 831839058 620833921 165054160 496289880 226480336 817921529 239413101 242826410 775090347 887091741 344841935 662858742 927568118 437605700 700920204 666169517 100803105 342692150 220930315 944195194 797397553 249714837 989088035 177032080 604593938 741047022 316040818 786334926 114681740 669592459 794025208 417205377 344519184 987144484 240048189 124412179 700484531 655797664 533377821 603058431 517522693 214421966 593053576 437838542 921054670 614261363 135465927 501547303 178460634 501171651 777666217 521218516 542522655 931366256 415610313 492603840 737016951 572591137 688305739 407418721 555088389 571240484 561224810 633720033 899583488 997802946 475359867 174642969 846051619 720478164 311675513 663276234 699404617 244677811 891312349 636943868 310220046 517810278 207915709 279241842 321119501 841697669 823342853 155261180 909843532 747399954 256289550 563168934 936913056 702382355 682506334 608806205 999074853 794836035 235968969 815200617 369570073 462142705 321663275 432850160 548367628 569679711 755103921 716412047 916498967 116555776 284653498 396872000 768785810 121234220 868106340 534804010 223321268 552389078 228229577 260467582 603533978 771495770 215854360 280276375 225279206 270362943 617118694 957812899 601209076 849316338 866634984 413910678 695679147 439869706 702607521 765038184 317270401 819091390 840568275 928078771 630658467 993556556 369040240 236606611 905225233 195889844 355473896 183480044 715639667 143078115 317269792 185634122 420597114 991714635 734883009 280842381 640910368 234761908 335371195 150429619 446037709 340674754 243896535 472938068 889582461 255918143 319322261 210125803 573746509 113775354 111722840 365035689 863268704 796686043 239005037 426227239 600532595 788760436 650310780 776964791 749880117 993174212 792129879 541601977 688726831 778081828 795436737 584690643 692391005 486579254 593609071 217850822 328130656 310542986 798312535 359798217 492046992 911474061 415218208 969467619 496346314 114036925 590098577 595134828 461901591 372133421 700563711 472970119 475560029 121991743 400083637 491096600 113247490 399984997 603844280 815228636 176304062 356225681 409037468 550796438 371080367 486032348 229752599 323439307 212596075 704817153 730964256 707699691 801010998 789868708 373181744 765129144 758080034 164547066 601176540 604995005 765463471 908048313 906036786 234228977 872978131 547635226 703363814 138419258 498796905 236672989 487307536 923568231 401165044 607157939 480038613 276045132 591037715 670904408 715285023 506484374 503158154 474633363 126114875 378617498 134935628 678493283 342768785 687145796 608510654 436021170 663483349 970855016 545712460 278257886 651416581 501238173 839361527 371244352 403471863 503925784 972683088 711889197 363766216 484028593 446832860 950528984 399461201 703804233 921035369 687509263 370906472 410942177 797988795 987633140 781874039 866951996 402722047 723539475 928437049 706054705 777277766 668352266 955275660 532056365 544765836 869835658 128664362 217555093 115635511 437639823 783299135 492544541 940404186 669471379 286900895 930944941 688285174 533239714 455183602 401348495 595013923 156777323 218970775 432647191 896943996 949895550 587179547 626547508 141073769 210028516 873723726 757383506 799628124 548344489 155963565 862722176 560531356 659392531 957203334 715448074 951735553 760264822 179908841 843128183 547700705 740013081 353482146 241545623 295842173 175466963 897537624 270011360 110346224 204915566 852220988 945397547 928679191 604382697 414101615 446810010 926299472 803354962 502658847 630121680 859098089 396660769 562118588 186227830 268667621 871290744 813707267 226968389 905217987 706223998 580083884 511617620 344897959 816501418 286682330 175034327 543458494 843351520 591383917 904757432 730604858 499978862 349794684 211313514 809836723 502095876 817709906 965830178 276374313 720452882 131007855 548931152 717628001 883539780 569884980 135711388 880474168 823289768 691134715 506065781 131105380 181070570 727240186 118780028 413417440 920634833 954042489 436162464 380037221 800505147 201013191 834979048 981071609 287912067 882391004 657321986 448200205 529991080 106246103 517407880 770153135 644175246 293313080 773032443 922289425 618021816 120080894 496085459 893945022 650257525 127691930 540386678 669606083 988609713 223110291 632923923 560664923 946685239 238817353 643305070 517241584 880249716 223293339 253800451 399553838 782723904 403461799 859902524 951383360 517813005 791390098 132907258 965256142 347963177 708869367 716021923 340781638 940879883 809326053 787710313 310571389 361084256 346561959 810996372 123992810 469565553 457165217 621943636 547744397 609164845 736608850 566143420 334458525 118195945 861302674 704240797 559058348 535757169 657510039 450288196 721919803 463256049 465842946 922783950 289840362 669891613 119557196 526206514 431305892 530046767 613388054 586795017 802695899 139885231 582489875 423581837 638606185 578483531 253664489 773264212 183619934 475896641 777863917 941789822 769364910 726383896 412110617 636059548 907716609 239857667 763493720 329058479 532202832 174852995 151592208 584298589 246113443 788114532 996152048 944726388 262237546 699404562 140195728 896627449 737626197 663002342 160670478 472004055 408132127 672375091 852607643 659781446 886479190 224920922 878387913 625988961 278699784 500249269 245892542 564378261 385699679 914191442 963834837 571689485 876935850 501442489 926342096 980289527 724514137 712009594 107179494 205294273 503655683 176293676 781103515 439259074 350847613 790545656 640809344 100145984 706004538 194554102 330418154 838151421 615878748 801249416 792864402 908516465 999737403 970354878 976234650 977678789 574383132 147849651 732260608 337387932 667099924 170751247 579189197 199591098 628658973 427355059 417814174 948503672 348594637 754935920 842948246 420599188 550732164 421700463 138550378 456978851 772726139 442424485 200299541 618183865 861272021 995105192 208007920 720565770 218469874 585296472 417117119 653785716 100918364 545606690 726642589 472263685 678474569 192872266 423057573 661418771 983287485 358004406 754904736 740595937 480513139 574769239 926477923 521273972 506123105 170444468 498729542 702125111 437337078 434217654 198793403 313459625 493559193 884304909 416564000 310611246 203538962 557575769 660252551 180307662 679233459 165289797 687975045 725574114 453015695 276438001 604631206 513770902 396339202 233571767 492676037 646681093 648048896 404039624 823107484 547825158 308781418 582449896 435730691 658269715 204533217 737244707 931501959 189068662 564406769 686509451 558233485 691330506 663904424 443474424 656506429 736116989 291297690 321274654 770705543 143934288 928348625 709966890 928855366 716480486 581747092 201882528 665802993 321963683 455373093 913130569 252260181 573868746 971385182 889090459 967957522 654706549 340080052 367207807 911175730 124194301 776825289 401256769 812600830 580964789 581295909 957106792 927261958 714822959 990238397 850948184 317276012 839512442 457796974 484970603 356802791 405491017 757092915 971046331 269107828 764760704 999715167 893832825 265533739 642545973 749364981 217032564 562119057 281651054 524281426 874189850 363900642 745479338 737193647 830813715 589659273 180886430 922514864 915791167 926912257 267192336 920287764 859291538 859459645 670721425 932842115 848306872 466229737 987176218 413695890 252552812 681048749 261330000 317149152 152777268 806450764 116921720 551246897 683607020 864947078 830333356 464835190 862545572 484661522 329245212 989782122 760192351 314674571 698685137 233104655 764993690 736372551 523043154 928440590 964386343 832337903 409211615 219075902 894641590 712633813 737916917 323607241 637470504 655307998 261297227 580959859 620666673 496073454 431282669 677963721 477029707 550612956 237594863 702253014 587682866 936118804 563851810 194765959 351635691 636463317 633944136 107811417 219769944 768211717 718495124 134423380 577298703 795840306 278299853 427507328 906358546 601454831 209589261 400736511 934060971 537291591 688735191 285035864 788347924 254770529 330744060 296344964 501795602 734592441 335320577 607268530 501943164 823199793 120894660 208491677 479267572 235142030 469129353 737335782 996742423 294667202 401662214 581510725 579361088 275087548 268809536 234968227 966601252 723520210 758234784 609846952 667661353 575498815 191701021 469776912 539251110 275012017 861983794 331554307 459204228 166825765 674079142 802081498 527421764 254645562 288571043 847495590 622852154 155641077 728201169 983477024 848131729 221377764 221121292 497908861 910542369 229226512 293423404 944251447 842997146 815601020 165095631 227232952 647768527 887245975 252112966 469809053 933610129 574534984 993544073 290557294 228054692 288221787 923707956 282203257 863765244 686580240 255597629 122650004 222547199 218108785 278017902 135545953 336750235 543316448 908719349 168151784 730905337 872745611 973807283 420340917 174288705 871896392 528431651 388874032 946965083 175418008 703090458 740241449 480337722 998231507 782128203 104957925 275816281 977697991 249281161 459832580 883877138 858168127 971740978 574188054 382379590 667349213 349340922 120388620 548799382 430866927 540500909 328233878 667091059 813287834 760083311 698598710 183949121 211102179 653156814 570140035 415675548 865575372 977989502 577316607 536416266 328675056 947535794 775422915 987372395 651700809 727241781 811214070 222787075 186236305 692199746 563487882 142851250 809215537 424243073 260001759 419539817 361418676 900963818 436557123 377229714 858693685 234254362 689695796 319518180 808098260 620147780 716469315 213420308 119574295 420055022 723710619 683456113 165499946 381222075 815621350 548273083 175190949 109303430 783260523 573705862 304861398 756741495 168661530 517687398 877424139 159868304 388113730 448843220 671694243 427309134 488468335 793594795 837715248 515305388 502071501 722403462 418377834 540678787 957199821 257697721 414137910 842624730 779844223 587451454 676638280 666976377 916851841 697539453 296841561 585877688 933124103 754386091 170883323 249155585 363896024 850994943 552194838 545993243 960881573 384223081 964907108 241876644 900824599 165005427 662867817 797130560 920874992 127303954 969401013 640800921 599017473 911046723 883569683 887628651 495287466 714973593 902136709 677038336 521829034 405434610 124345708 959314994 310381392 307860539 449512659 562117593 699495238 223742423 623135339 478764507 584363085 554239174 792182148 410389815 237698987 630125715 798062358 175766297 839763924 563786894 527286628 763449060 791738357 684562507 801777856 518366937 559114207 371970245 564682818 357198021 576490825 910443702 288707731 501096748 381157043 140884719 157173705 607795011 271604456 169077347 857105486 753561301 572509106 945293067 245718435 686358084 744170020 721085291 566025279 189596608 159250523 891012396 254039924 280739202 228369191 270325571 721535575 919096785 335498095 428821670 331957656 461594415 871210938 417525093 993561439 274677066 730789062 652216494 276105545 583437897 481672517 700516357 161927432 212743461 570329121 798977901 530970006 237601037 260858898 192210513 762051000 476432964 440532429 700036534 568485434 733305230 614342844 112343459 307281299 561444147 614908464 945244404 791861101 854116223 473301025 432812220 125581580 933385439 774056887 338861535 546805958 307973847 337198346 410961877 533293337 483459030 934768897 960633887 542332849 772798052 771991360 266284377 538536373 127714701 539893463 956323193 935592275 941770507 905185447 140182359 680137875 733460671 220236294 661221497 548990284 982358964 144916442 916121498 621654681 960367463 557020958 592954125 558294659 234893874 186378955 548187516 609136349 452179858 398586648 301834186 412817160 157121336 939716356 415982476 524591679 834320922 725027317 159407794 816992207 573249034 900566050 855356382 939544463 160668965 534405957 672682228 723925434 865829003 475154079 416380403 477334289 354798067 204480598 507653210 876135578 901290480 668833667 538668857 432838989 673415994 129897274 992624051 768877261 143092045 298709462 847362723 389618496 711677708 685278354 751283259 814561662 167565778 868766974 397909919 187695881 806824657 338598785 181344942 655467244 136627911 192952852 106382228 429137368 630358019 951283605 786366818 352104700 458496680 784001174 611916043 904949111 517086897 802660637 177841979 205973626 343573966 558294457 370410176 321035005 648701370 927108228 811741582 924769954 509516771 969826646 621638444 982196517 317847001 640690543 525030330 695715727 566338780 270098361 709628657 531977568 613890243 447144777 239408416 682857490 251769232 389158992 731615473 478485888 864515381 858503978 679250329 939195824 928503739 231926291 650429144 397991329 381376019 632008749 616360645 564884982 668707655 109856804 376495229 222893014 273356917 964627808 553116703 701793279 650901884 472528310 370385527 170177968 720192689 365446991 771089643 189328416 940136001 627486791 596001396 943606550 553421140 277659095 827665167 862900691 945556608 585854228 627335708 378334542 921117089 935667815 277212240 616430305 924895396 152917365 824899538 796740968 394929753 779214842 720798584 460016716 423605431 921451478 143295598 611597543 586352503 120502825 146529813 507218648 210482420 269900324 851521802 627218843 411144508 115172323 273151444 233909203 642489076 534855756 782973680 768870685 994223011 295598294 981821104 365762736 783389517 399394096 149755782 535643919 151513206 665457780 522279462 728019489 133725964 810527249 999112173 576802839 123653545 948814408 984983922 965569859 322634471 598923452 955603372 682653042 250792799 249333189 599022861 260614681 965296137 746708413 256576973 870488710 172616418 650899360 154829500 656392275 224454280 782326466 654837856 937636396 593669368 639116236 419156279 726726613 415704627 572466182 660431959 373091036 374795912 997618693 397935788 762181223 114959111 128390384 317858589 689301843 561824709 509021537 364987816 701627178 299958528 755399511 332565797 943317736 167929389 848797975 832634121 443931597 861726121 551266924 190660945 514630066 639964870 861063675 539486288 488712147 103465415 890727939 189576053 987622620 599929343 179880695 752202382 842155790 898194946 779253134 530276764 543018607 441874508 314348953 643558295 538680491 977910872 739985521 780069502 837578589 945567132 804060824 321121010 961235917 485380551 718209601 307193793 533378212 729863863 123407497 448810899 281894911 935269304 911488290 430181238 362154992 536150943 996865172 229737192 179552746 132058966 458950032 144485824 691058279 658620093 329618333 275638918 543833119 106997270 199818323 870192793 354057746 573426782 534398660 782368741 801592507 832615864 640623863 853741243 295795817 675193980 850986561 282971589 234311803 145900808 968156981 877981986 895514336 999839269 592780450 838029778 231873316 689607206 246452877 360855940 301995390 985159990 678352868 775913859 427561130 355982887 746224528 786445391 331521234 135611700 539282838 858634278 683887997 175765020 184105153 859197727 352005981 973127043 123446449 608619446 684977914 518817337 392895844 356150818 125640125 383005029 259497473 950504540 405412337 602021205 573259467 758466099 981537719 953295885 848960379 302807775 621506134 231629649 731988451 435772982 699124007 360991997 765617974 717968758 194710493 558653455 855386238 304765422 835293568 488290172 280666641 364993427 387980628 402396240 154378060 438785081 518161421 733870324 910598231 552974954 774542628 276471726 250281802 403235488 481702386 960991568 304003364 593342754 512949923 398885679 647238418 818375805 576544280 600065846 683005663 179405913 994227441 744798693 399113940 424787464 917037309 925789597 655726924 992232802 767745704 644608343 309218535 300258035 525556028 514859030 246559358 786420034 982644931 348315618 430985982 477064347 803809587 518344562 112551407 896568232 841557507 447069858 840865177 513127160 734180143 487645908 876958375 190675458 822609891 894855550 342827161 231794034 196297013 871857537 422874418 142133428 253300194 523636889 265246108 243012107 571797148 776241969 918286267 535978418 359912380 689198886 250723509 528604707 795215583 629432635 354445943 963150983 178043062 913990891 882659140 972904952 666917788 373600544 354431478 229053700 976440344 349695315 971701423 116509853 702417738 692865278 306529012 627039927 668418085 175140686 398907526 512784086 379414931 213678408 853237630 666413936 981219632 912002951 597182084 896265464 736858902 481723071 916597978 209450198 523191165 825344320 367629814 895737788 235300347 113458297 633107493 347256650 319820326 369490635 435920241 764414246 701715968 160046207 602884280 170514227 203113030 836491270 590998426 595376393 264181109 286473998 961122540 325104752 667626642 477423192 734269381 965118893 717107985 806164329 476296298 836101163 905927337 264198020 248018858 331404498 768865645 892913832 772917386 868055371 927827461 892734220 831178615 120869067 899258061 664432741 543546479 832965554 590964055 741838951 518078038 286139010 403257940 393728575 554266051 827808589 847800610 620947409 746574576 734097035 899902785 200721210 620013713 403358304 209880504 380919199 856126326 894743270 612597643 932804319 758013919 544164147 153808566 864908914 720049457 793306878 499803165 684218706 362878743 349875872 860128058 309366161 707604768 919314691 539598863 589839592 429245864 135340634 723043614 963740829 963978360 498510651 908695257 799052038 752704528 895045316 763666323 664239276 201444158 193207717 903199291 174456766 100275398 375741185 739885963 489719169 317170387 191599590 207303462 820176508 207383345 508682179 735003329 686375818 523492472 173198730 743485342 761098809 228345262 582776411 310861907 777608048 383705434 279638956 944613278 826895099 115785058 651635680 881821526 444568785 482690784 127832413 126058285 958675137 565569823 355904888 590485831 132148686 921024988 460038634 696261912 629369945 563887289 806307062 802789071 419068862 325175675 355669708 864976409 847331497 454562016 571577208 723611781 993921826 952295172 183564933 342859906 845232876 128628212 456711310 219409397 715039948 359709004 336236483 615857737 910361444 973328992 973862664 371953380 446906028 966555659 647173621 384167586 252407313 108083176 279544047 863996109 664359877 610903329 299633238 832675331 612734188 526404607 287203006 865150463 990295238 774035886 818044627 648991613 881864352 336014023 364184644 380003354 441478292 524036366 539709238 429465778 898475102 485206004 515160255 629895688 892273905 423295299 530481602 126814396 213405162 970321444 873479305 932334007 308025496 444230094 856339932 845337750 626426487 301863475 871456483 276908048 643701789 553023224 661757271 887383810 560951014 431771582 457216055 893177765 281444381 905305776 116858919 801978086 684599336 592305763 393427410 803545584 703122940 873116279 702030104 536479710 539930495 384877458 466772227 392155849 568832290 241501410 853599341 831856578 439424594 595223765 284287237 486866336 567546712 976081493 612573397 798350479 215284048 434524473 611213291 971715554 718642742 327443979 591785721 877721808 108889799 424322711 988233854 641901944 220307972 129695510 128824229 846320582 851696551 756569486 232012570 307307710 468591646 965770841 522846983 601405911 552472671 350637427 404053866 768450689 939174647 212460034 287450102 687581933 726245159 861355015 410386871 884415717 761805322 236028733 780189308 479916302 672766882 669345263 681518268 937121337 634588633 958902775 372595592 393151859 951411823 141047763 558623345 791770200 221162099 388395364 648395934 236376696 665475144 224810073 888125629 678240896 667586080 347253194 461359975 580740251 257407156 882593133 344875423 696301437 874471978 271963097 526389028 732714722 830246433 208982817 505482251 208461211 771834336 775003609 727640901 642406476 821263060 346990820 377163275 553709458 799849191 654136881 710050866 226596792 994552083 491218220 185587613 162535099 665513170 860893805 645154173 546907772 261920845 493956078 316509430 323951787 350611750 103039589 587414909 290154188 497375003 384290291 708489309 273278196 472622712 667659728 431748031 149956988 867644184 995537495 973366829 473905934 221679858 699840805 881960498 471228983 164110860 175500911 945514481 721049923 284185418 666026467 676342954 777619843 716941335 948075118 153312880 364441874 140096874 558455875 430115595 633859555 833944046 227763775 212674840 571305008 255312910 188792733 811345511 766496151 608676942 982149519 198451613 964177271 549726486 967209633 452723113 161039941 293256391 913556863 888965059 675877749 903258139 574657425 554795733 467673956 156527867 610711398 939327495 720128890 707701401 352691185 836959578 756150823 479990062 138604263 884850401 421653696 917775718 733087599 561406615 103288086 726350214 506196682 625044098 952741143 328157270 869054106 626239868 375614928 827819683 847777481 607916901 790995544 469785111 602830746 616422635 951523144 420442025 395413984 278715231 138383899 131832272 206026948 288771233 323720498 485557691 836046695 630168371 560289319 328384922 523331847 148435824 204351762 917985980 552224025 540388033 382173591 931057209 334363375 154540739 686206485 165128380 514614025 394721026 593550066 493251815 183521466 270399069 165057347 588250118 478271498 479462408 280569213 213128802 600997148 140685203 821582409 642992879 698092670 689392325 661776787 749779627 988164523 115885863 674228690 992946769 517536144 691478518 110695706 334708276 180691938 256490483 991309446 563526810 179969228 950276165 426317462 751175863 650355211 222924473 847970412 165251708 892236430 948127353 982726731 350685230 655236884 178194370 853879378 684132029 464539845 499610932 448038197 422544711 805951143 336368176 798215282 588046944 110186531 955761903 990727358 245077024 408076993 864609645 404760902 572251286 740660033 635892524 532933792 928331537 459463687 728342449 831054397 323615557 274073877 134762750 173402496 254579839 575555055 803519043 710816885 128042696 406359789 957005595 296580935 354847248 985664017 121753275 689158329 111932216 404479944 271897963 801195860 196460856 447364896 147610658 292140939 722676045 247088760 752571834 144103683 162683954 451449454 678396775 978102005 730149211 854379378 619876074 747055493 681763787 207997056 925780833 791879766 129841878 765857696 913995867 370533536 245275572 276254470 660632495 184802007 282622608 849753392 312837490 795067721 749882438 933648279 798306263 841773625 239959090 753131581 483432440 847660671 565585841 609717565 847969442 775201746 344418762 704178257 255521781 355992414 157076249 484883901 180322612 925093812 615239939 445831677 546313573 750135976 130213177 317264852 282298232 368970914 686164371 333288894 958048689 297531416 523933082 136363035 101888866 576313603 492125090 835301502 818732613 213557621 315383753 373969978 376549435 685737643 806983001 580375308 907693595 566300657 558833596 612104732 619231787 420887616 526981218 362175580 183420959 792245548 303546429 311769241 612812009 548436841 563873296 317012537 771976874 433048902 248975840 829172626 756789730 216813016 654316499 442287433 542963283 346550758 491609909 557826637 556610122 153679454 870840773 781593834 248192681 704039813 368838226 460347253 729934019 739403064 737355761 818289549 293814289 951734304 525356191 179363137 125411114 296134006 532903662 632128006 523566104 743641791 144108998 632508165 784844021 173351535 951740687 928389578 943471174 552177987 893025725 197620902 832553846 202020022 471435657 636364174 486882458 365054561 205262974 123297059 778421274 983138954 894989329 800699029 713163804 844126281 424149723 582185769 301259976 454015095 251082519 293783438 386151761 257407088 836866437 907136372 451324273 873048601 646806406 286857303 651907754 419711232 757342262 644408199 986711632 104622062 759305887 711191192 788792372 192188142 255660464 447649835 696823567 781637803 866448311 387591227 459409304 942934469 811311250 191805354 473998369 487157635 475085278 841825076 902149637 109557893 479716556 766431347 894886876 568546089 414168535 729444640 237305355 797850774 480188979 825204547 961971421 450152781 347580503 221251318 702165721 516117220 236912414 342840330 509161195 437310564 344247967 333166139 172544917 424068555 972165377 516067136 944372679 985794309 862777150 263950135 826064188 707054117 783757710 750537917 186387297 828037080 520553647 565391929 791340604 276851870 644073870 809382770 300859381 820964233 230257382 126116430 420032088 168143723 318999297 323120824 576376628 715128709 910965862 487817817 957255909 451581952 833509260 276869781 706232669 360129892 877231499 342695725 896211185 483724441 860730067 249534557 524323852 198382090 250580728 322168204 903934728 164667980 728013032 332304385 820496084 520174946 997224952 179510009 205600138 286626470 282948797 757901176 251457261 466317256 214299332 349157792 623429682 189128774 138375342 659422446 407981653 898180261 506447597 434777245 433811999 926913575 276492475 663224846 646734530 374181271 550908893 831386912 752823463 540361032 804393195 392360958 510590413 745866981 268741401 124304783 208086783 479750694 881835285 568560341 771762539 290605123 107495279 126764491 735826150 294573722 629487372 537316401 644546856 458311127 810008332 473132316 310509265 264424474 983417809 932087608 852253191 261339540 506834088 880947102 111731298 922080588 448950689 115693383 741346515 492654610 649238176 984541405 128820535 641997654 610794533 276031905 908387770 152507760 236473906 730813307 939041714 386182116 491826035 826465407 624965356 632835993 869443110 315614040 161456225 244247201 494726889 154429016 502667219 886051045 315529985 639730918 680552450 600370713 891890701 920659303 208376101 136673026 182755746 166561868 419594866 439422682 256333766 146462787 751080847 837342236 254646073 625558029 523480322 749573386 601582245 469089947 481830265 107980954 452738196 843581615 980650963 979238631 178102067 221539722 456793648 586981160 964922882 925569148 356017952 796809957 360817013 433328367 606856338 679409543 182686622 536755792 976312789 942802310 328362896 981814960 318070635 920314129 839507052 644327026 230536016 856239045 471477295 450050953 786171894 998112123 605310698 998948780 854605475 260600360 308787247 217093803 147047544 706497798 589933112 591256433 846329618 749269322 573736949 287627510 424114214 832342900 154260354 685087187 678427609 402819461 100264873 725988718 557284376 738356978 357853030 781786445 732935874 587971992 690000132 645156188 770799501 816868911 708383128 763746666 940303587 408317368 942244901 335206914 538930569 137863798 543562713 171183430 294155065 988781723 166444086 512119856 982385613 169260495 904183145 423697803 834538611 621194061 273778205 651594245 806952048 420060573 161418306 561641154 627479464 118154668 423289856 469691074 903396265 664096232 991290774 873588088 162715845 850986352 468735995 129059262 485467679 200167560 398880114 766526296 428491487 123597400 281693061 763899050 922536828 635711830 993291672 696276667 516350212 696398212 209450783 724888002 985555799 666472752 481938643 196324021 271190473 300133679 753269936 179806680 498593056 807115261 305680630 207268377 972654032 961505657 976360481 265806733 739023625 924297197 854610526 567917854 558944328 216879104 800035596 658007523 154511366 560238347 690760844 567701075 911678040 690956643 917888501 841867799 680352370 950382545 365193398 813609455 154751050 186114592 275224229 756351571 158489471 749004688 741371571 611497656 394308369 826389306 356036365 238350884 803084624 825969808 994104447 149876784 556684240 746697027 553432608 564101014 961631188 406089395 872600385 130651614 967747263 467822712 932372107 364115999 678033088 429695909 533871781 514401318 356406584 356247116 690187926 983751270 630847710 735483930 452082930 244758391 959418392 890419285 254779557 762512598 752139428 119147376 938976946 917539261 196020984 544565383 709171848 906019980 608404160 523539463 861391204 761226752 306492543 818520248 375768007 355620828 269170135 738931655 164631167 806280547 172760697 518492142 111485922 662135006 776778008 514232026 866988199 607419782 195520711 263943041 685787712 544610756 411800514 721263142 393704274 126700572 407819166 469432409 228469612 761585463 116108942 662822372 698892206 552999590 423764543 427060776 699396061 201243255 539618455 108832436 210674246 680697662 163440330 643565348 643505536 552510747 981637275 154213947 406827074 272076581 294245782 541159672 677413595 924379168 436799473 249261172 184613919 336682549 142028693 437254588 710054651 452831322 469499374 894672870 855508351 293212188 183673311 536867136 400716355 658985833 825460657 909811786 912511783 487607778 641180170 955465056 835153279 933836915 303686767 953846688 375256273 767166543 380537903 579876201 409615029 806867392 920201373 378979981 979622441 142818270 117170863 615566373 201097816 768308621 106284928 959692341 351744646 994930953 288701612 663116432 627694274 864940841 744321183 562979594 482179445 527733814 567164228 587372401 867966752 985804066 410603159 235089961 433497348 280144847 691466287 501242310 588540701 919729555 940378176 310646448 519061467 788232102 581765767 109239935 169889158 422295876 128518404 285060246 798319355 503786615 952016112 397969102 735645880 159193024 105643591 705720818 561672630 785415307 150548938 746189915 507570572 405994341 357229402 683432573 514572848 610456410 539963462 181473403 967056247 432305238 922551045 595308664 932760512 939340590 109561637 810863580 796187850 319742800 321169573 977237993 802070971 663878684 834153618 730421744 831515248 286838096 306049520 935294905 850179482 208428514 744530973 721146471 143362534 144192790 523188861 908234051 770789749 256509112 612664112 712426731 165073336 838520734 507097145 799504125 757254740 448031646 698469408 938452594 859446295 951535238 599091228 760013765 238268527 534231437 991748114 301414383 792359545 404580364 271014777 445321313 824155402 232671179 366350574 830959546 866335643 375355509 607735150 620317653 532965210 987951213 166217414 161226843 639676614 142220871 405233523 403075717 246732004 189558797 117044368 727291888 407028368 266372975 507839677 739764657 607671385 810507062 816971507 342334238 660779164 467756175 770331715 235253039 107949087 839950435 849644384 782739816 836682334 469221980 418895914 433022577 902478158 860185817 149086864 337775783 247338459 597807752 394111467 557604649 201032272 984386638 775502661 825007497 296313427 424248483 310553066 300762660 951102060 841811052 149729663 877418211 411074873 664472770 606282250 567441870 650860857 298491920 335355585 333902154 534873568 712884068 615241065 510326939 171713268 999091383 963836209 353929644 650477460 205710048 607379944 664821830 824266720 441566679 871377209 135360323 193559687 576810748 697634730 679775979 272756952 160569402 995070958 331988344 890044389 297948416 196248963 529316676 716796457 433170802 302753346 839901737 645464254 846272468 164004581 500473916 533211522 231360549 788103545 417097528 566853233 337474726 297706026 433139440 845129417 178205126 155152104 740060574 965609091 287094954 577184324 270337370 174982069 544700444 189639031 351953291 229636453 628815324 501499193 159803520 465909203 885048650 206463059 528488646 341222595 735124841 840967057 865443799 490775014 956877039 874493904 724619628 788567995 188973823 982770187 601428755 993269587 576833783 552656359 622780064 336111330 317673546 736587654 400000484 982686817 243185564 399299918 904633376 262933274 711339677 821440939 235187597 158248846 722592357 951677097 215623715 171940785 622772950 364239682 611925101 721322272 368163334 797165782 544923085 915914373 314458513 358939534 801310654 125084884 777713428 360545132 238638723 536141323 611648763 514718333 188864931 597524322 611552969 793758853 380885743 446520615 895013980 745713764 190051742 977666235 495452084 652141618 478253225 927984641 103837030 152959910 399076389 982162915 673156733 955930705 836813710 598508652 378940172 951569583 265862743 874481219 201702002 360906265 762277373 598406709 353217840 696101544 445860392 842884960 167240399 828263550 146605915 965202256 712728202 882847943 288865963 115259287 851161772 370864586 624481482 233787594 379942565 228977825 569802169 371650418 729405752 948829031 879002699 733460739 988037452 657294350 901947865 198070637 438350996 929184609 428251044 756712513 156874242 785870215 371462999 304081611 426658272 551970074 594176449 181911313 954022603 858574955 957717609 720065214 223697158 975724901 652350454 868384143 907802222 651114492 102428680 190336664 252851117 166989823 532037710 356108262 826362284 499011436 806331601 706149709 663668869 189875947 120189155 694048543 115529755 252676480 822957467 355490544 112880341 959000968 502831347 680408184 937057675 654901443 480338206 735211264 366898435 571317548 264203659 222849158 622358688 997820566 467115899 409788770 510181109 511298475 854310844 459941386 986164404 692232599 987988470 466011724 851147416 706598690 979790019 588550987 142797325 983544450 178371701 668639064 176406156 524729192 636224825 928710595 585697132 461124491 158549977 708273214 572875114 811546554 431324238 197147689 872523003 487539066 324030264 299240907 617574569 811317053 392229747 506642024 217084813 802347021 502770878 751576014 992933880 177323226 538997198 638704457 116152498 553569233 622318660 635039919 226113901 397169977 390452114 301311307 961144119 445102678 297778379 275896472 569373998 909338446 173796111 530132535 171382296 577986643 500713242 395137359 640743978 819919730 702460861 607703202 126782756 628824530 888257909 407918379 296961745 879875477 521306287 923298651 658652207 138407698 695935903 169972476 182219962 427406328 873666088 285247528 858051962 147287539 678389753 225307379 916850656 100011180 942895208 306808864 736621424 178407157 770472623 905375325 142148812 682512790 698286048 644129428 668672662 622943434 902908598 945091719 869385711 978434221 323065798 558029200 148446640 326716335 798274468 684640637 390931081 845533354 371673371 819318098 775318990 919043860 341553264 706475538 499280159 336715214 973508883 919353773 488025937 240688887 325920926 863300950 493858567 427839905 535414318 689520281 519765255 936315881 111409355 986355777 991886422 577897507 820642371 777486530 867547262 193483418 582358525 920876498 940550941 738279504 598834613 223038249 387761973 254287771 480359994 666083889 596414412 594790325 317303127 455353125 845264367 707672794 798354607 677318567 600705627 196114743 277743056 575514054 993917446 749506841 378083982 965129122 121581250 451336542 940930008 294134395 820201535 843012520 547235069 132260620 855275252 869241708 629058375 961846067 601363922 295609948 536199184 427117104 478799874 876169037 294316260 374368138 489713339 648461040 598441182 232558796 940689516 280979060 361038068 154029944 827837498 824766451 589748234 846852791 468678431 118422576 127705232 828347625 669694166 459845642 779776847 379667090 448051829 349096217 742593911 631489099 984336458 509728185 994084309 318624679 334391106 619591878 345153905 527194198 828113965 662157114 990231999 798225257 396992634 983247745 795547780 188700962 451695567 828513217 370175892 290264416 292557687 370503112 311033262 722822520 217563231 604451509 839797979 499940679 704337691 849598472 974778212 700722302 134334389 311086397 254968846 966477808 680944816 247927499 226773998 923465085 428507175 460048116 777116305 689727237 872871558 865210518 204070850 262383074 547210809 937147964 645116362 366983675 641440892 376570015 386443095 838488701 309002605 641640172 895244786 562382795 387287069 345177091 173243600 835230088 880424900 436481474 209838453 933646785 201972588 255225236 349134742 201310948 114435766 820542319 390305405 683813630 205820134 707508327 839319101 231834616 845803139 806355947 787782716 858364781 301931131 352150199 680404040 198389528 341924937 403300538 680147018 474935802 717202038 352446679 689403616 476002116 325166005 386891760 393375792 959805072 534697616 408668791 173357299 520951796 515628465 341083143 115774635 556268288 668465725 804943901 685176771 275559173 243242700 786359474 814514435 946088235 697219134 241590096 979523119 327031593 754511440 394782782 215913116 574418028 595748293 257529412 815080892 193900491 461646439 868399471 492178606 876747929 792012377 531322323 520455688 482027527 106016443 507835448 726561989 781496951 950634687 305084043 343795134 951140016 537758521 410901953 186450975 466373969 510256235 585843277 537485826 197673827 746717969 966875559 778144295 707571971 819908506 321818788 984407852 890821416 843105343 757281351 990260489 374784037 501310831 531625355 845815829 687721407 340045497 910791152 982645200 760982900 388865476 313032533 757808322 880689616 100873493 422161680 587341870 122982124 877332365 795792563 149996801 562060469 812016121 182276156 840438326 463085505 190274250 621267986 814761062 243093899 546092243 345138087 709044594 598749534 153887830 498581962 165401251 323308330 291895120 871569831 846840188 390299949 169430691 641999202 546275121 150446617 493381357 276889719 417909390 302743908 371336740 593671552 485781062 645005406 166587045 679458512 998564267 603792903 535513668 713471337 442787826 553794225 499376191 994368435 954865269 809394360 989514597 743599294 577527369 429240643 161145534 113956200 109214941 678228923 197008779 231269596 107867025 250482075 539357649 419694552 551150126 697048407 492581335 179452662 964179703 567091579 775303603 530979302 847217013 860013759 620214506 762580795 639728101 278668850 777750881 167751606 889507409 894466981 856729265 413529403 249908582 338609013 487182624 424651484 499058327 311492449 145378138 810769115 989007149 210351107 425791373 109759692 317358473 432122163 762154429 326525379 841582986 991206428 159590784 151537275 484787424 761726576 481794875 486982803 788151649 888963184 704954512 128112721 665741312 147953386 896586637 356568239 594137328 236610028 974269564 176138828 607714572 826576208 400099561 347649533 137035952 194230996 295246893 829384725 937396011 650980555 161214422 939920252 756928428 853405358 562943305 633770825 615729316 827978052 284089567 465663322 567809937 386453338 398250900 890413706 968768856 697085660 197189787 241056430 911643782 815106037 373754651 249451193 942115801 184878543 863467064 492301699 419924432 397791066 330746869 517260152 212720265 136296982 103386831 401587987 122340871 664879036 589807999 519186995 106482395 293674557 254987043 611020805 255258645 911219893 405852061 335314309 915326827 805541959 670029423 431892579 594164181 299518816 451405460 788812414 716495048 720570731 289879424 800881579 705805953 990626015 608854091 732916616 765266198 756775883 185326083 122864504 444193263 540062344 569898856 964504711 768434650 946286649 427672138 893083870 477135626 771472994 575936628 540782776 114537698 204761562 654914631 284098442 327438007 721242056 690573226 606175615 381580968 204855440 710894423 161541514 263284825 558869062 747845555 241429900 906518395 100436732 653254065 185443558 733151329 803284983 701009062 864911725 606534383 319689775 855754533 933280838 842357346 819505846 110695093 181284965 461531363 740959335 817645634 954910081 268414116 545261251 471870610 946755415 277529091 336466358 492310597 619710791 416907670 688712677 407990034 154707456 947545710 288789965 450866902 631448434 470600787 345973610 778401845 196823688 804907632 394015816 302183523 125902883 454309452 564044005 361714327 325269124 792160135 369587791 832059191 526059393 655560032 949976590 485298441 571434651 527061838 746637217 987937842 853927748 923511009 676447790 858328463 883996302 253379593 893919780 481567030 554803716 773325586 580498182 614360330 584479257 822388597 113177433 422977681 847797428 215501992 928068887 773231164 940213449 460696624 470952744 998657904 807279748 665111510 925352822 451387702 654493690 330662294 470196810 480755311 594508244 928042026 757727787 613804485 250524401 566190639 346003323 290872703 449421298 301022511 441664894 253682819 322595758 384372322 654074462 889090389 552290061 145995239 495947127 584827823 462569626 463903605 262151191 992906565 480719198 868300226 199239079 822058299 320273884 825965173 553669376 468080823 235809288 596091679 248252870 862509406 473309591 686033012 198487034 367431833 934698050 614367328 538184842 718745593 611942319 255836611 873588280 982959435 314932620 683748442 363566354 167275108 768684497 207940235 767697351 972216652 595483770 417450197 956098481 625821521 830015737 300426389 700003507 452751086 850690522 863956526 637733031 939244258 656117312 123114177 473589297 401747853 581991591 572114567 516560317 424648785 959110184 802549564 158006765 243579872 787889679 901942581 723071197 474551337 283902210 151360193 217886946 505691225 587712852 877216196 602010224 913206958 294561370 509626633 675846809 404607451 929842752 290100106 615823686 920190812 644347044 660686696 192175761 500811784 745554943 468583937 519963855 468470497 310184478 384671215 202969440 486315798 496839431 906951434 200179122 871898311 681027107 476324386 920625807 858600917 284362178 159527363 924962910 535714023 741788097 768984385 114111786 352501863 821063577 730827200 649089163 652282339 957633824 442197503 350705437 533209875 257236654 310978681 245090976 159483368 457448600 381529554 376887482 858864349 714387954 196751729 278451881 898631899 463436604 292440475 426045086 699243468 270951283 995913018 248588661 529122852 736998615 508491003 885195810 315137475 957040602 721592072 887533735 164973595 684341325 892715481 225870414 354269976 141868432 646457171 126274838 670103245 495941335 923959308 128330601 141286048 659248286 781025899 425343367 237384898 317800814 478882398 390165804 376108815 402380041 818189531 901696143 931327091 122536010 699724765 942086864 494975952 960778511 798039160 815575841 472447183 386721633 135550757 259329179 260032037 634850625 812286867 758213080 481553276 157702467 281094481 762266992 774804411 172786032 405823166 781269535 694293930 116600025 372405539 709345248 149076455 160538642 986971669 716295475 159786359 212561527 243159884 672278408 590149810 424634588 176485594 959781673 261323069 907751944 290796926 559214983 590739121 820846658 954375019 404896612 263905766 652029221 451242916 147899099 884721644 393384305 229094149 559290156 342253034 666161014 356661986 484290913 748827371 812042532 114245150 537742331 517292774 377237700 301316331 483962518 351516744 594412398 504431911 940188803 593690666 145649187 238447280 325956559 194845888 434646378 270865398 700626246 957800961 949322720 868460261 414208682 441038509 889174850 906193360 461620482 362041454 428955961 249489466 825413721 299079050 526683783 564713591 443719412 672976219 915795907 303167829 492070641 262796323 134025408 956214749 692788493 260315619 956499745 822418632 673191087 243777586 355669177 581444972 785684410 333532337 348885649 357746677 207016597 972407686 134780665 976681770 947592209 214570920 223589869 498461870 717667680 898505931 923199259 110945002 247069632 124256385 875599059 421859813 640045096 937159750 619306691 233495250 581313881 536376667 391167427 434147786 312497516 959883844 240647604 780978621 695706970 293721952 628266003 825320128 572184253 754671689 756390746 643594045 324974168 416516171 979673412 198723844 405323379 921641023 499688758 973877337 665454096 232104778 667471678 246166661 461918845 483371500 546863859 693009378 883667615 410611944 173862717 836396794 471555017 807137188 361146673 510395206 893524806 876220209 261830714 896436769 434705592 478696124 551518881 987782346 777599570 830038042 934257544 292470951 989381590 340708624 411957119 963593093 821153417 325259276 623921188 274510339 754862978 494691351 493009204 132783907 321939506 360083611 101444105 447298313 680455694 406743225 217219710 837863516 427890472 161365019 299956253 105215333 268012973 471104717 620981124 884790199 181123993 207015171 713493914 161171832 277467187 225422878 548500510 727235253 742501337 419939114 488478719 795280489 642369542 972753492 917509866 621089299 329052731 813450057 899578293 595083351 715098633 128188561 892026640 556743230 149019100 998942057 961236164 796026016 852489427 464767588 801375040 683518445 914351953 358564205 171708821 351037633 522706992 836802938 884034380 857961625 442729492 649295050 325073215 366580671 655384548 920298711 289666690 539540022 512907384 731866299 627800484 706433103 522561736 759484546 528260017 944351843 382063782 604275427 572136219 894386575 845123937 806017546 336592601 605246471 300984155 824883934 424216450 599370060 541049751 351885153 757611112 406052417 474527258 512971200 219815341 889514896 150124365 649229144 896271389 600080641 782692941 767672369 806581399 125152003 340911613 704073623 961806754 429270484 803121037 726552657 975879477 426104368 789276004 403428137 528950377 604921839 276752751 332431882 830207299 675478334 669171743 454783725 700158700 631257606 540662157 902248729 117436491 449950387 316749951 975995485 897155411 557440999 556846297 331298655 394945825 143158923 680007264 539805100 477317083 145804365 535214712 932194927 520948622 302167516 804811161 607865550 894778578 884453919 202075410 729166235 910014395 203197095 941086204 340446328 771134172 254238240 796211768 836510409 371221080 561258459 729280860 740919712 991682873 451357912 933555545 392593643 451566040 776520863 135451547 972027023 462723357 565710242 941677769 853777456 365287718 918482335 523854801 155507717 868632846 656381198 618398920 747957692 231931373 454508132 826644327 404988531 146105371 261241743 622752617 600306459 301477747 943584439 345406608 481872069 722348330 473287071 869624821 173341691 819790753 530946878 178734042 974808791 282661648 286306419 611721364 842754592 764831977 760169102 522015092 547070494 662812941 224967814 894879665 126007031 322068293 558861513 622516585 343214158 968951404 997007449 492985438 827912629 891591755 208851057 355297622 994681191 597078394 418241269 375038563 411360957 811623874 629772879 520406535 780365061 371395489 561850829 194527200 292867248 144758740 943938840 537836121 135018074 167268061 821952809 477416321 913523913 565541610 591792042 949983166 944009843 598357018 439971878 786388293 128429260 645393122 821100097 816196674 925040557 131611273 208585605 139498419 920070411 111681738 670870041 187405951 235448546 696099998 849011674 723498887 723036817 881781991 109569153 723425408 626472815 166476173 893505083 974112110 786587203 368281098 362906996 199795190 491318713 129367907 555638846 952738770 169513644 192448714 901976021 241563549 333923894 807853075 560148117 934298406 615734779 761620770 153526532 688984356 308626563 570365336 907223525 993469961 212040581 437097880 991751029 121644528 633572672 423901798 818873683 732126060 819392265 966284392 600196107 784221878 577010755 195693787 578020005 755208830 461391689 291550484 300783630 451213509 800382777 830529747 537036958 908316160 165486236 620657053 812470575 288173452 752809608 753158700 985245364 280648781 829077691 155678728 778613899 341972232 155424461 421284381 847741902 570906814 661056592 944884039 315987106 824551118 324741841 418804913 137392508 742849364 950306295 713221700 279015144 625160937 261726418 853068939 776663634 188685546 400951134 608906602 761429688 803392438 634282753 161878879 562227244 303525862 443630428 328311737 681671086 563961678 917292816 170260466 158412996 182628043 245850579 859968826 726933554 760497283 825233133 714541638 591761874 963039895 702501588 670646921 618812788 896397150 363237673 128016676 678686081 431044638 245315123 513271374 824022403 486147768 331665742 866734431 270323017 639365449 784325079 248630467 709792398 300759939 142039135 172985456 222328685 603028898 297544384 216917102 575679588 365243028 444305742 107608713 229760877 333623726 590737230 454882996 326102175 774887198 591041927 377487363 557949955 709793498 517333357 293926559 706787525 328023118 642059042 188251222 944243019 242096665 392230847 225929536 648111916 427800840 559840522 204285774 753292518 118084691 523338006 681026446 921477222 223825123 144963365 207639193 494047846 887078434 669310298 651516644 535923561 278331149 154297543 802869896 958944659 310128363 868388980 123955654 768857613 984122426 606370029 745530502 832276851 746361991 451004370 661223857 800180322 564454452 487415961 244739389 612698931 455327585 580978347 271894525 993249902 324492610 714033261 966328084 669833663 946957483 794318655 775049718 261308486 895319496 555671399 692130646 689439520 111365354 691608089 936925146 164343104 414939403 299158362 641789663 619479971 613326464 689412653 364270325 615719874 511682273 202067398 500434630 778161219 584758328 960345676 571570567 489072667 137541529 281494360 770872571 293109871 481776734 654491523 309994100 613359754 166870417 751120299 360918385 422496717 718133268 503486373 850595733 248437308 346653564 461372565 374537345 594505161 538278970 650259354 820764198 644843005 505768668 686026362 346941850 840953367 459390963 667570171 911525825 169946269 665585677 371977016 271735139 494330194 408520970 757326954 843677580 126865896 235213291 965633465 554008831 156473561 933981265 771932353 426940116 371374804 678873848 253342414 787087802 413876506 342838893 723929701 503125506 998658574 683894110 612139847 133148384 102179244 120371554 908197783 706417487 780233893 109149943 119462671 757056033 249932170 548908084 254540294 587235339 645080125 142801772 136391290 918606676 252336437 317385801 673933030 469864946 819039164 899568194 875870718 923304136 226181514 684558252 914939090 785367508 679529474 989019430 483533633 901169749 511301844 531387115 146492629 885250453 977113124 446832547 579148682 567973277 632675393 420829332 837064519 590940021 334543148 215976859 578530152 526746694 911039408 812342144 792575150 841414137 524674501 526556237 824428253 562811991 363886324 640265489 199538475 788008989 694006828 505612204 563489479 182496854 332842441 660100688 247892295 689840222 857525283 710237554 712777453 367276187 420900632 286548960 429099881 650444494 473692275 357367870 351087015 733048755 193838666 747387477 939033000 573862705 470057246 213099697 676496495 446649601 651603971 256655513 522908118 315451230 997359998 313755029 323272495 818633442 825997236 754822797 956162873 277679779 729136246 677234388 451654075 535697631 908534343 544072399 121574051 929899144 545175712 845479371 590666636 557583484 373305045 736722398 282163608 167313774 783212638 678980258 389200195 710203285 837068196 647251719 248177457 708578053 799998167 628003259 753402033 871992026 260183702 176345676 201351533 216572332 916805542 582191375 285805620 697174513 809763963 318783532 714939462 182566529 785779388 511545125 447539324 422770219 105168109 494781051 457674609 752146936 221733856 678860140 869551131 389452896 647073776 392596877 658723624 520914545 443775995 573525470 868041412 585313091 539225369 234657820 144367630 764989674 551677160 405028267 125097405 110511596 209653504 354086661 796447923 114549745 267473273 539940747 917307281 587295987 327799016 110565053 313643287 523845064 153499029 155015341 379491076 700027423 430893437 386439174 111775129 260812296 125791520 242437009 558908162 228139408 694012824 757631197 816334086 342644448 340840291 422437683 558545443 516297349 170021403 436271881 496144740 832948306 359681818 624081098 246079882 977254518 898376765 127334071 647602509 742295656 480601432 170117856 678594330 364030165 621977124 379737588 323334061 193121067 992965917 369214227 248134100 402454821 705962256 690505982 391508007 198504903 236316738 484594035 868137479 751453112 111078084 896846482 539329182 367046644 781713412 620712826 787652966 723994861 607119772 121623056 570611211 356480168 480630553 328148636 468646119 701437942 332144889 689618113 918648425 625565333 991032370 631119847 272022434 773234704 292642901 678572833 331215893 899918594 613584513 690435439 116063494 913624761 690937717 338226051 518849283 769075279 918910710 258893375 921504040 254450350 493293860 996828388 323860087 504601084 806918650 699015754 506498272 355024911 107527224 499187816 688794816 891487678 836230483 122890962 714503230 366674368 391323317 372416566 583140353 420408577 956112264 294918292 348820738 989627439 946545210 460780523 748288547 852875119 974254374 331513335 154162883 699993527 799356103 636335331 432227781 150738024 528619249 235260383 564948310 858499590 612243642 787070802 516436111 921853445 213142342 173088257 846322374 682986364 835735970 847029952 218365870 262546174 212128022 707184543 588750693 211351192 707690702 107553054 151359723 763636653 386891083 953122630 422834870 337541079 124569454 180005203 890662880 991210089 918610105 586160653 118053893 679658151 549463442 691921242 535059166 140714577 999468529 849329658 771693805 410453242 539174614 988927404 178991761 408517351 231104735 893609279 127629804 848949314 188712535 440153257 278238536 522799526 571294172 502982523 472810576 997206209 574086454 492750362 692980827 202123096 979576632 147011557 686088062 559051427 954800311 340379946 310541195 594297570 184443905 278946027 529881834 334394712 119729235 160902552 217178781 497252214 699671948 263148060 762020927 356606497 150982092 542765513 513608391 349742830 865261660 229810200 106732880 310015670 224208667 576798709 248791573 894479633 262183173 825179922 180242605 336837522 694864570 964768492 311278612 829368334 590859114 463554002 410077735 815165713 814782242 509300206 767199404 347073326 719089227 978072249 282657063 855312362 163163343 813966059 587512504 232951289 512891364 575803002 262832306 392299956 292426949 634787084 822810801 161376890 937653376 359116000 787817550 684891577 502920298 739908653 683894973 424598337 394678922 946907427 501784619 888161220 255090594 630397940 865456653 337131680 583797207 497153308 931026718 356919384 895517948 978419034 925661135 612646440 868387624 280656776 293664136 901197560 425888199 112571420 382809546 637046350 808154230 168584073 601853827 196850030 615044223 979859971 637364877 529870363 231139868 607061152 646547010 927165086 725402098 686917749 684550902 191273246 834553196 643381947 939156779 419752029 917771444 600825252 667694100 725586717 846839310 496250924 338108480 725180931 171463066 283376186 758230535 686591492 983306087 417012214 601639455 191880869 378241611 757739694 683420894 583649591 271729256 465309880 425565528 238873244 932302272 989156362 671151356 146655009 252806572 988140323 567269597 900205908 580975255 998443974 325552577 678736281 268737104 146852278 629577422 576413723 930086806 582817321 963799992 339137695 546752218 262127142 923429606 960159739 225763772 594296296 287349860 442573331 812906478 403864899 294704321 268881905 367585152 975065375 845936952 351606573 526277501 794960197 514472682 717696087 542914105 304543040 711879097 111917744 424746575 826046996 802140974 479375391 265231916 615837529 517433405 755061431 910160320 735026133 471597926 265537128 642961421 505647471 121596570 908538131 615375874 652383899 593860601 921823191 940422311 455703716 503861193 383847057 635921935 325826830 298578809 746867327 587574665 555030866 749542154 503678109 212815063 360774579 769264203 977114000 423499944 854222071 181223661 633527725 105404500 619805572 558711461 790942426 863181910 164312425 190570807 690486608 140956447 269969855 943190306 151429480 684548136 322859006 329640072 708811263 645947637 416236450 804501850 756652610 817602202 223988515 892625811 599815589 962234195 603155015 296184131 342379346 297727676 628785328 875139826 580168247 782758101 619114123 639190494 696106117 429316119 405862481 339682890 532597619 476729158 720432873 224936408 518275698 558231747 657270202 190983348 265292627 110982079 493566419 720262401 466805517 133435500 363383300 239883948 699840950 493255282 831475258 375991830 123034370 249579795 978793067 432387166 601000545 670878581 305863225 928050079 452549031 104444414 783019298 515030264 291620122 948222998 357420416 282032261 704280959 183659387 241730569 164973604 147031586 164087618 759919926 527169815 794269672 944791275 794032707 595265307 203356982 178381655 288036977 515904891 224095089 199719980 355838448 545580378 908511068 433912942 248069700 884537566 212096188 486886596 774206833 615870691 115839316 346693632 763624465 982454096 559182883 806195763 314954101 411516098 238380834 774705365 749555260 293664794 260963411 835427199 166274558 298367225 531022556 187989002 194514944 607967412 808950696 530676989 302257981 732617923 883754133 253614299 189659434 282825236 787609312 506852799 278360127 148827241 380524816 245009127 499480227 458911762 856126642 889951964 256061630 726083918 356735081 955698134 699010071 858467867 772246842 107200256 235007089 776097816 663943168 560956874 116592329 107535241 615529391 448720862 738384878 699155934 379779926 858107784 328014753 499954306 422326405 831078628 363766371 169946669 928536487 630365566 190799025 225529168 880401787 494145782 884190514 477113145 842829883 858900959 840962156 870963542 147215030 472747831 769583126 425834478 174727843 757599940 182727787 124932526 174994290 180870578 697948825 519930076 282530906 629619553 683510132 287253794 351566495 554792745 907486458 208680716 235619462 780637339 707735320 277999580 419534026 677532487 166564901 609523992 753947370 479409518 274703116 109228340 729738998 778212662 145150846 145752683 942819212 327644460 745758896 848128265 852247074 819770772 292443983 610568647 372384122 416565175 983294838 104404629 567762732 844335483 417031652 413353176 889791760 272655451 224878363 241664871 907830740 169759870 584455854 630164861 976346767 795698806 502261673 486289069 296627223 669934663 247487821 255591129 155703551 549164481 994258841 849840383 168553533 509431403 177927572 973236577 795185091 261436903 975019949 304853576 656277355 892694914 315905253 245770673 970911694 674858496 630066080 317414098 211789447 524646209 743906629 444705709 699442354 182873900 310522128 913517279 305519612 215274523 563992374 785094839 100656712 299312828 635096426 348295255 473069205 418022550 382158059 813814965 395073761 881870089 402833774 367122826 326685735 168360730 887787782 690635044 996039085 615658691 142635660 508429350 782807387 810086752 470409157 417469666 472802130 321766658 968987367 151078848 259234530 415048799 586139934 116535164 172888231 280437361 360224608 876625651 364639189 705384597 291219800 492228391 126605788 453962303 726967304 194972652 127257942 868482633 129127869 456289887 586182745 439616710 888488378 972696431 459688952 251293697 162268681 256375305 498976707 588502844 406792553 829442766 276171281 734768325 324534878 139026995 935466985 469855415 702452943 325877096 602105549 619085205 371556466 299989527 642633522 296094271 894248030 608798729 827018773 519675308 340999509 814401256 687978040 709179948 748187032 461717481 758862428 156380538 361219753 919686651 111355045 177217046 326015154 450229851 642214044 817899034 457110151 851091869 794614025 830522524 917406310 160525924 734271193 307672781 577552240 880357625 689328300 479690736 474784370 802357137 660076164 716106128 868074724 102283600 552500644 730212202 990179707 476951303 469953362 343301352 563151519 113398546 651545822 365936164 388826109 923268555 531910331 698449437 814709089 164620649 413408637 331336837 600515582 385446631 388873881 903536676 810418223 910987891 363892616 804178519 973566891 669839542 351118868 928786157 368870072 916460359 322818205 589786627 851847986 853470961 865827358 528582164 584893569 194433862 687943719 688141511 159748917 682092918 768960442 428226499 471126103 943868166 388660569 233747380 344539049 625851553 386626256 342772750 215636154 113476183 427380196 758146539 879496335 539336015 625995809 996362617 355822390 155600967 853891499 207327855 460287606 605136130 332943517 606211345 768705955 935078091 315142998 189412610 309156123 343506891 441116026 256472351 866716604 267153369 958480313 348113148 672476935 968268960 816671111 213540852 272113133 467129850 622451264 771795353 146062355 830133888 893022439 973945332 121720823 488191673 847421316 581644641 117286314 100562965 272534371 400792616 391327556 304942646 270602425 141905991 863315631 125083140 473910932 620267185 764688627 112772364 326347069 852131633 261343750 814493465 835872695 845285238 425680021 889042405 255646973 741244199 915135952 904831519 292341869 942550129 181783405 721838648 959306520 844449661 316174880 921016891 384462389 297488761 393657077 742288910 379802110 309961340 725640333 934474728 523051254 836232234 111144274 868747466 664848881 638989241 518520471 968684220 505113383 289289142 339464389 160584811 941832734 872539133 802653468 342461503 910181997 645482183 294230666 894899787 138797412 468610391 134215346 763923693 531170098 230475657 699839400 484461884 439957670 791744687 650418078 877297394 701227782 324959075 939464859 687341412 710657411 222692538 471777822 413823843 906437623 135436440 299094037 176557675 224456124 890789886 906961507 418145666 623910157 435762895 830657101 237723255 289833681 290270101 930424273 311653458 867656692 397438457 245843511 248176580 329876044 467755574 193908147 320828801 992637732 654341742 625247584 904522445 690399761 676879487 373169679 575931262 144845870 492317318 972785949 168928005 333985283 378319569 867336538 892142124 823700641 967945090 979927263 952589851 714404751 828366703 783327421 642342568 767444675 562298020 326843749 636268039 519282094 863426817 763257077 958076341 665425308 647328512 166352866 906822135 778403440 133117130 839832340 324957952 923176023 519536950 699074006 800549556 382554378 324234754 815767453 975128386 415326831 287802413 507755579 215285278 620107331 394310639 716701061 145972853 190163118 699975407 539693299 408638528 610871523 591396396 507130573 796335138 177340573 101193541 415332496 929566552 321742452 790342303 338473319 533519182 894673334 760149119 477543089 822648649 187899274 222141954 595141443 151751143 318943368 853991389 846984218 652764324 217286163 453389427 411714223 421674870 147049737 947167209 875671879 148396492 748013457 619965650 510372603 596397094 910965865 630168210 186918697 103531200 543825036 868968003 855640640 879414265 675101655 652385153 685649970 249893574 680822938 920166594 481933375 198237308 802900263 733122920 826140925 388814949 365750179 175909770 762938313 292604488 523966003 892853311 456025166 351355197 998312220 861491279 765232718 708027293 407714192 619636950 914612257 960106262 816635482 633044542 721370231 452783532 331744871 271426737 317029992 918706150 601589873 156652974 109873266 464856406 401929659 423802026 389985205 302417350 814652092 122662585 278046259 573776145 226319490 786432861 392138546 633635907 459031718 756667891 364123769 743675760 686432998 228434857 259274647 414105701 978693766 144814814 600034948 187245452 182321374 186501286 134472137 865407596 269408050 990778638 928690341 934619012 454790103 617950290 459464970 542762913 220011870 809960673 623407315 498207417 116074053 980559984 813289315 440194297 640585163 441686105 256100516 371314523 134286876 513950334 164513602 216505080 625150014 574432346 381695374 504382903 711903562 210342491 770242225 998480530 795500864 370451435 178457002 659995872 965092661 667108112 316584860 865104754 105176068 814508350 424512440 318878164 822546277 383847886 436159612 252773026 716949055 903798747 587289406 743958060 414569683 939904305 854483591 146213022 931126244 540997822 712206935 376556438 832673705 180723001 223526637 628665948 727774913 412524747 194552481 865807650 441322861 506150512 834892882 608269519 385751681 834232140 260416287 652251419 323606964 937830466 463495435 394974842 961857680 712424265 801558484 925074285 287434109 704107877 468691655 495382955 172455968 325353625 840002557 578047294 134969339 508811901 324800321 331509204 423181396 321470531 862225372 624725823 642119807 473846113 786480408 389697872 218376045 648859600 176982518 274473588 595636193 254917694 412532182 415777836 715140944 112319567 428619244 603733116 724261023 155580749 972240998 263462763 873840085 559546094 645750888 333875594 605951743 273051008 492183119 563938255 596690371 356774603 802906342 254680821 385276136 444360168 239096589 800055272 852438257 753308272 245271104 723807952 482281698 127132868 611375470 453521153 296410348 715148010 521926350 144454768 738105058 474636808 594466966 752222561 805149170 870265202 618232145 105446076 334908055 608599740 380637586 517847283 671143631 919512078 137733027 798292571 212044893 266741823 305034046 884753724 271061837 564384615 240657750 871222426 580091786 395888261 816912368 145409520 824101602 232564495 457571132 931451502 368970776 574078675 672131401 813307399 791595888 238459960 239805017 163426786 379968648 820616014 142254963 893281932 733539860 348736344 846321513 888081529 338778858 196876035 174297961 354010085 652919015 166139737 575608758 129058324 808476270 851383189 479416572 767438478 579559733 109669145 943564449 119202152 141422644 805272586 590436318 396346639 516649386 341253580 384791035 648957487 605229516 439198388 478906313 788454440 129178319 315464899 671378614 468161747 813827017 273402350 552977461 720176504 146585611 606153504 852910671 726623405 292208039 230674559 492235287 588090216 455551727 125518476 190435293 402683150 638970056 188436117 451731192 272069361 204289642 828558357 282056125 894200413 729993836 699716193 312621338 585748813 524079776 589975133 527872514 725326012 758382237 850393062 521273480 625651365 840419888 743168466 685625204 328576645 107700351 229141205 373493373 214117242 971127619 286245333 501862719 970320730 949710533 324848839 914248446 999441495 700965304 989051300 980022745 552903542 208910547 436111981 208769502 451773946 447600540 273396811 875447938 164995636 825655938 727151879 198989912 803893377 154016414 114380271 452973918 156264558 951612825 608969248 401408333 676335835 934028693 736084374 166231002 729931145 366227690 897392686 316996259 989868627 779181425 977941845 696154163 534569571 991730221 706974928 278635954 672969646 597869582 817335800 955138015 733065911 509151827 340281017 310118709 718501001 535626141 323682665 191299452 985149410 377035890 150528700 372310819 466546840 900216217 131464240 934064803 322990607 341748746 715613882 403745332 359961242 946244865 115144578 592758250 693133501 705721825 120663554 650651537 946420058 470407514 919788685 195905351 919297630 276327623 725954314 834435459 281587181 658194082 126810542 137507094 920402260 893495592 406225274 308141051 465968488 253655957 605912938 501098303 399045846 481556465 440700625 450676207 908557459 845851178 162270969 364455233 335142345 125144616 342728190 669837366 511530052 623750926 532046066 565249462 818321142 749327568 367793002 573187553 855351624 128468821 820033842 752223119 811806996 875973640 829467947 633774433 877850713 632896146 258898728 673267262 164764123 382746484 903901569 254688179 386487761 302884699 725385916 147730547 934045152 937364226 183427055 852035355 783101171 157572727 927343288 968436935 219132312 840922343 378166599 230958081 896345304 319848556 739573000 752345217 683610102 393628570 296224181 621747779 273383773 483787090 309090702 298248515 128973264 574962773 229779997 154811358 834915453 745208327 320830984 544457276 382564017 949931186 594357069 560844273 930303235 276028293 843541072 346780930 969926726 462782803 273986732 222818223 316332182 683391953 586347528 152053475 721883460 664559063 244501801 659170115 198323309 913500879 939762032 469987462 109072312 812859737 980344233 593450667 139177536 214714542 539997488 818629069 609639142 989270955 166761580 660647711 864383864 813171038 332371650 864428248 218748456 565726377 738226604 818207661 275500391 889626544 251003904 922902033 645084684 358912670 666910513 556294730 928238148 162278759 840882049 719903832 257043803 120667814 945351042 840076102 254305238 771262554 198427579 584581566 803806148 268603843 750669703 369589157 444804473 562172663 893533885 341939834 122138750 432066943 972031168 117441832 830781359 986056524 699505549 745244876 735611237 987775029 832568481 952688070 647970961 381888151 355245740 483058870 314711600 919158319 207669946 513308127 868204066 720030003 291347628 167393282 232042483 462574562 200499266 856791274 944441274 164684041 129044161 779132549 406741358 995281503 250477649 483248735 981865258 814533833 380684904 972633975 853000111 470600727 405752612 513358680 683623885 712752138 386816762 489011699 652949934 362521295 511177603 288783569 186463774 367778042 963249563 922029521 826291778 985686456 558895135 637870829 511906790 664492786 440101698 359943313 753890739 929328201 954904292 916073613 795082820 312580434 502970549 640982557 842973432 439649549 404935453 955783183 801800623 173674448 342273114 130641526 514121309 171089309 906340678 653715467 339729738 292465561 375867340 725142067 502759129 214603109 331048514 746268207 457330591 425977310 319422923 515604602 232124207 636115894 475167812 670068751 630393015 176879497 930294473 896908554 691348700 583356857 540840066 266714427 387335325 497881560 631939766 906955117 203236646 925952784 474672577 215584682 425873555 478934543 408780265 945787374 907724895 892472366 354163373 984571022 975145370 498556049 343423467 938847785 580667069 625859825 793923252 169208213 749440506 505685072 615758377 851089189 245527492 623228604 122772166 976780042 704551216 761906283 137323597 276461469 519978369 112198088 888311387 291202478 679757784 629234845 305257781 346942274 142598929 180420607 468322432 668302397 778293397 856098085 851832103 886137720 234534380 886798034 840411077 690604208 173088982 902647004 727432428 954276488 876093440 258414284 126145013 488181723 118382496 604530883 556237341 440967193 467990531 697975871 824760587 422336203 353013188 624298826 824813886 248811770 497390759 912553261 596368408 321435900 899302385 192017507 142904595 274499782 742518805 531421140 624759341 455108879 355829045 225356376 526589700 276264301 107640114 317787794 189472360 401621728 628890035 362704229 969131961 674236534 951645514 398695697 974515879 465974422 518306199 898211449 829762488 382672686 641637927 763372928 728765060 556238501 837311867 829590855 377098120 136459231 232626104 485117030 796454099 577679909 387026525 971794117 457827077 392695463 643937487 555673201 540805956 220318524 807131994 967976395 986975112 598753191 340067200 331280241 565145092 388996041 839400149 252589665 872651385 401476688 126477358 320255701 139533113 634282780 611853834 666275495 496345586 718769594 890904399 898751070 126214136 640883331 126271256 611023791 871114178 165231377 559978041 748493747 947909588 885518789 388592125 426983950 975320998 248506238 491716246 913239491 154166283 770878541 563079115 706415218 686647769 748065826 508901308 958557034 963700927 998994661 476928349 221633712 750139082 603702458 286545916 506288815 739746731 260806144 982493714 630481600 584749859 555523563 346547834 659098801 631400322 558004549 393126552 563251003 649484061 388014459 773091444 957258661 113969033 602950920 903858398 815097329 749809512 626993784 322429914 136219733 132268174 747556758 637931202 153733029 298979843 336769560 187946073 224556291 329469234 495061864 446182432 277937163 419477409 354507775 670873801 650888685 469655604 806686784 434692740 975542808 780756200 542915166 758932544 458206131 629752698 207824066 469280588 478841276 947507982 571162035 307225577 494869103 310497910 978903639 389036331 328403682 323362720 663936423 828515784 120201884 630051032 502467861 964670494 614165616 521107324 927497020 715713219 901742472 275899814 617276955 873493388 768875150 201296468 960874226 184194360 301716422 672426057 566938601 750861306 329513980 263387399 643111107 483797376 940425877 683656237 988510519 953385672 911201635 159046410 188437627 590166604 985772978 603447055 402203727 642155845 541012823 788397235 360851990 390876471 427005668 408870307 346377882 824502838 724834733 675845574 700666018 965206149 803149238 834905875 256994731 650488347 701782765 470980336 181176501 403318337 505042756 542976422 812181541 651017222 982409327 447502161 293618567 612139229 935017366 489625592 612631549 646808056 464859133 481779114 481084813 983108172 986107121 925942981 388269591 724359692 448889252 262424261 121422987 876083022 984729002 247279076 450058353 902012558 941735798 727698922 239462238 970553876 218100822 702043718 346728253 623230534 963501414 878494898 650903522 343089824 443658865 729208450 644103841 713820491 123581523 515184516 667503083 464855411 829607167 967809049 744547203 608871247 496516462 632096704 334485788 350103897 869558921 690215948 344509315 854630795 521413873 674936372 775084171 263910750 677762595 775349086 522474234 964460102 387577368 630915401 558561268 747640331 905540133 997099790 259494043 544829338 137951083 160842142 685586010 580303054 349529532 701086304 691633014 542299462 464705566 878139246 140324894 304548636 168099711 814815628 215546660 147558409 516032041 194927877 162253754 395218481 944476963 325695991 950299674 726061111 270395366 371923797 628339758 956087117 378879872 533711803 487207351 176839884 677376932 746961518 228721640 189720353 613267583 713133360 861305531 975937126 301785601 966825767 269122773 362278889 271357935 641647413 997289701 792685967 467735408 185239694 725165136 967384956 872996811 963333853 668156733 637768019 679602334 374896372 665319129 538000510 741966756 241740569 479333530 935902273 629156346 842749120 123664941 491550930 755801905 886059731 779118366 304458713 613675551 537634078 382493964 357547465 253288569 529820264 855414949 371283930 237208332 884231221 851729528 905838318 323736587 268927531 431928603 116108744 598456925 549214213 399114524 440343505 365029078 295681506 135548886 774638967 189731617 351086775 290504499 877650529 294201957 507364430 960853121 364031999 409390584 561441677 834170662 216491776 218240083 605117309 426994671 264331441 457813701 380046818 171828732 877445439 892035421 877520595 803409089 229633102 626081553 214395540 833882248 329295658 731802776 166900122 115525810 274346240 189848363 695825986 513617878 354174440 457450295 252908400 845079847 894527349 521187734 421704375 613187011 470730444 183952402 613141490 989204176 921779262 660414563 803880786 626858199 509987027 877252163 683751647 281495401 549212679 574834936 267490998 484205900 831026812 633909598 954104027 356976314 672905114 910150204 479586766 638868128 737902656 740856493 601859588 534976368 405055386 534624613 109505028 610046298 524238510 246477792 930073747 786439922 712183674 132895512 685510737 222744955 840446620 671040600 796347585 297855475 320679656 463630058 449051926 240550053 556521508 663331946 504905495 693543178 488915035 718780169 546292683 710810081 884537679 624236561 465309154 857254846 334973738 580787029 749677147 484243066 899939436 299233510 528539113 571108753 227647270 623750423 248518808 124726261 525246011 572465112 244442989 832296395 226295178 264153904 302039619 207900906 527980823 962599730 384653794 129029006 566282336 555953403 562553855 538864883 991165452 713606422 410555732 540035784 612490630 939183310 969864358 306092480 266246590 993616218 253862165 117127774 260617246 843444894 792889935 869656978 357512260 920090364 604631643 570825076 306235356 556578779 306771626 525476691 447461257 521194846 623610185 991342060 548753061 414197922 487612380 830319309 531586730 464698812 485514652 456649035 652901437 450928476 732125609 224978684 826671435 890628564 680693433 148369976 815338804 111342135 687201196 710012245 478039352 971518599 836279623 103917711 736360322 938552229 232043786 667384848 367844711 275239401 574889101 415211341 388446736 648916587 531041689 949089899 438198285 157652155 683990105 480200996 133016644 873589670 579862955 324380929 893283403 860652200 657067740 844000062 963419535 418006303 807782453 950255323 429086221 972986484 996233201 197821843 901651339 110001538 961213665 508829366 625422694 429612118 379108960 595783022 569990049 555873348 949479537 386328916 386548295 541860855 657363922 391420421 495256836 767205938 358158781 561827035 730574816 487402307 231937429 228138286 422708896 446892785 213053044 182254758 811780478 986197634 504777084 579584421 110034540 919730313 830879486 493817196 131822859 898247622 359939994 705838259 259761181 589165604 969026337 351385591 164497103 516799944 850397724 935126972 687954751 283636381 237119434 998307086 396346833 612268749 527947060 441169891 920550327 696739260 502087032 676707246 573244037 225821845 117980307 309179592 901773235 349020405 887608721 615360647 682532736 146034288 797994746 269116193 727368466 743294271 719584796 940034395 329508727 876947434 776068718 109802932 886926089 285952172 210879057 130915991 306907751 428554585 920119441 299839434 864972979 637758716 624627747 512795844 471407239 828490651 252666566 757924665 127336451 677633100 889010369 339746146 402706157 549316423 855092254 247739772 969182791 736732901 329340187 334775463 526758297 467373363 657230283 710964484 831465090 417581809 888746115 614479958 221396606 198752322 114389272 468210815 349408075 226620118 118696467 449409954 269068544 202739648 408360959 240274170 802534512 596881066 896518233 165403256 184780179 665233841 417979732 324401614 590757141 206341355 191673921 108740726 199128329 482542047 118070416 188159479 468800689 760861735 534917796 113980479 315046040 454541370 272131942 793046962 526957121 661538360 996546503 345087515 491774582 829026037 802675148 668274837 290971395 560880809 547370018 702605283 188915077 568639895 794579203 301856094 564108068 948672416 699179258 935234026 232757909 637824971 514182377 379753202 547075913 158132698 922019886 818016752 749233494 511309772 997936860 354467467 821720356 834861570 864895543 705273993 417573377 508845223 687118316 102287932 896033294 332198561 683068459 625781053 543004614 191971038 333748185 171863820 844915302 215211172 187689523 502528384 732635724 162821440 489520406 863413537 621022260 700137223 561958313 406776687 618377983 709338550 836595019 750274954 352288993 504362260 391475140 396406148 779085709 147372035 451038895 155843380 249576233 401282464 857038268 533434097 393515181 206356165 887400438 234509777 505088565 254407869 516037092 648641728 556082974 194626331 697131185 572245787 355830247 212613241 563289175 125919257 885067099 120536211 991517484 457027529 646526985 657890905 986481298 547050915 157187971 326161483 602179137 163039622 799984995 852311355 847540246 394595987 438446840 257179696 500796630 308612028 714289333 714327692 249617041 577990887 347259016 135849716 858864071 297605785 228140472 436904338 739938595 694502412 440572007 269043365 831062136 346140797 348440613 536995022 134621212 905005363 295803989 882336653 391950219 833796883 649331087 733402925 587836753 588265285 321986943 672732148 261146347 264935429 843781295 840869123 754518027 238053004 101289420 590523970 255080578 535879856 367897644 276319150 753923516 249395398 735667982 663579666 209607178 256649743 913178819 244588936 980493512 174113423 221577138 441754033 565341681 783650381 756180395 825494365 746155048 920390864 473606948 579292979 719619540 380891136 791389762 385795848 902741298 734916473 263470589 953943662 413834637 159100823 600052208 790637175 990322497 408217071 965586706 585474489 811107700 824031191 671640266 914316135 217197351 820213037 793963179 277234851 848213054 563391163 256827301 117655291 603901649 265965879 558624215 621747940 761281921 219770929 923335606 491059542 499282338 536585786 613600708 646571813 292794845 500509744 427124931 688211438 662389858 917301033 543476163 543899232 992677697 880506915 344878284 896885638 278646717 693957829 774503238 363063788 511575182 694340918 388682058 790717120 559686158 555088605 967598484 794873114 539549520 422299696 863139977 639471123 480415817 487052573 261254723 906634311 177763908 378253516 237159474 837950119 952023753 902567666 934200128 732876010 934282411 493205280 803647786 265865872 502666582 444551475 264473534 981690670 733269423 484374579 712607982 221956516 188131018 509197970 166544262 112898941 233304145 554148984 181130307 764536486 448886425 632108970 259962148 200763972 725065460 441411178 541341996 779172364 143175208 969440379 920387660 115603143 867671120 783392635 689799136 434666186 113591184 714651318 373055298 423174163 227746240 385326823 335205750 498616247 788086643 901521961 497218450 471816239 146046914 841204464 907405510 880270689 713658050 663166017 513794640 353026482 854581902 422407872 326898699 387569300 597240378 103318497 625440945 578709338 514003203 672045336 345978227 537893411 753539921 205255547 524339352 793784827 207018169 764823367 777270706 407517939 472463161 582144672 159430343 654895420 470047277 844620713 808898875 757284626 917793710 968302631 521291163 806340438 155010897 850045746 126912541 495851504 669370612 288898109 978759067 504612391 956972247 126999205 614511824 797934234 962360601 507836624 829326179 499624443 794891391 431490359 390218720 264407291 710587108 811290317 710603013 848495578 743234029 400395155 751190457 223129192 241673722 961811598 348396000 315448597 383460455 155044143 251887391 317447490 210230808 893967435 964735115 914882236 233935174 737138422 443523489 323410734 504222024 328517904 554248226 241610843 848383260 138982775 361773307 258998684 203760767 368466423 527503592 605797506 702453189 195149077 688766742 879092522 595674107 366924701 265394980 340911860 857087191 204027071 876619082 785802118 571839797 317022566 216696307 809648873 453981325 434408856 103993538 653631069 377404093 167879122 966580703 946015641 217697154 978619886 253348044 193659581 520208471 607879532 396564957 968371731 157834821 451444836 693882264 535046874 354029904 950463485 123262188 719572002 205495670 783308534 848120556 657872183 886498213 149729451 570484921 598621807 118154776 844744787 127650604 920990325 896322246 493980198 617259454 872268985 178907976 306298991 663471172 866061781 552783302 512146537 784478880 215162801 300307645 306321392 835551297 996775858 464889885 267957730 998106065 257819417 954212620 699552403 818613021 154250552 992732276 460594314 280906925 640049090 529359361 849617669 854299913 727618307 238924207 468286833 267763479 470939030 189630526 625791710 862413492 843821009 105542526 695382448 494768642 352336539 911643710 402370464 401852233 841908715 518305773 961443244 842602487 896197417 603352873 966312261 314669322 874251699 225112805 960180152 914094686 725616650 933914377 426448537 530933069 122905950 584523117 300841669 133174207 362166165 148869395 897904567 534755899 215848855 783175075 537130294 610563619 274231116 354497192 120151955 730870384 337892680 175691554 208509975 671905100 941828584 360040269 469013422 193888744 144576726 694832570 318426729 600010288 828369684 894229803 520294256 929586316 891743049 353783883 675840483 675132117 786232090 207320906 551593840 223256981 413112473 630281750 506782277 158859629 203980275 525088427 342205203 845345968 803932216 397102137 843683961 977571239 891931669 476363028 534016970 530341065 488278803 372913196 427588888 142561385 568961054 378832358 420691438 982128178 766170565 638868578 750617828 888710488 543212272 792720276 914082718 885792431 584324329 798770508 643252953 294004082 552563049 969231973 600911935 778234800 387873970 562528601 675754661 138985206 584100589 794515095 415733456 833158396 858679457 553783032 978845971 449318670 127141163 954822151 533692098 414795228 223711204 284510186 820282335 671688385 737409249 342652076 613911576 481485170 203981458 897174654 154963066 701114929 749710968 398589122 710310416 754651509 909217731 869008038 334669844 468306174 592280101 281719660 793605003 286712278 408361445 417904332 972535364 614090490 515793575 678248141 985073671 179471560 385448130 120436195 694670167 597152001 120835235 477946292 187271998 643092291 305415867 729331772 637496215 445816745 562247215 366362242 701237961 608091043 743312296 187497166 383103988 394350229 457640191 541621438 464977944 536631596 695166987 452334936 752499402 534197213 953643114 104417427 124571768 134344653 570917890 875016279 883560043 188149756 758978821 230428637 513730484 126758527 750052013 718188976 115468371 804447248 937436934 724257842 332565352 875191824 817071191 355775183 138915851 201779333 248973393 306570837 965768570 223367572 113583992 159098718 586848890 575669538 319510058 449177533 794587471 299998980 125282314 661942610 487522258 833309822 364948391 642682720 101229069 787479677 125954485 931285069 829916236 276563566 705779365 152437642 303454006 877454522 405611639 194606821 239421645 615709609 144245666 696311466 781565243 441900438 733318225 127276918 194999107 984664418 467657591 119428579 901047854 201711575 717659094 796255239 850936610 585555697 359479881 381904784 623288940 474976174 144626705 899074195 607331148 996497823 855003303 153711461 772377614 367158021 207013725 363038553 676672538 368441520 776721303 740111154 462058880 893855882 493449721 394881652 724503686 226674098 586352466 642585298 395731508 383283115 536850231 396846757 507197635 946701764 860888888 713200286 702531154 813839828 582574798 114895057 289686800 324252664 191771830 637745009 822084071 344756051 999800756 323785669 773694604 316642094 872699339 383919812 672855630 874376107 683267480 745384545 608358933 882117691 220900198 657930613 831205214 480732294 148208402 221892282 253764733 437075666 765558658 662762148 805617728 142745542 252915315 335065094 299543502 260088710 967207428 296601834 272005031 188869300 815420234 337687085 434138223 932036091 165064520 934909487 456027452 874213968 373655683 745529778 214673304 171555145 947752741 172865206 177652189 107832018 618458590 810135892 252000965 877835679 110827298 975620316 884509844 146227193 567097373 945100629 293382704 586196057 450286138 789023184 848277973 583021230 976319621 968251027 769294009 459775109 891488277 326846017 609466027 905008967 572692788 595742611 340026420 600502843 256456284 923992789 923552036 875923879 727198003 595740872 299191317 739636529 609732492 456311491 425288832 375659876 700275112 412515823 658486914 103036577 279629286 290357513 558172269 601438875 874186245 793486152 382244930 247811037 530488209 945224490 122996026 157566912 894267562 497412446 782822183 138527468 983425205 962839688 231667586 308924368 117330147 160467308 441101941 198580656 817728859 913908252 348703816 479034928 368576849 250387800 723634854 353118162 137723372 867877994 919400697 619864808 962756127 840016745 373548850 326598549 432956659 761242086 128635835 583321432 374142731 863765919 432718144 618318333 738081177 591749136 136970337 833669336 227044987 147319769 152162478 191496140 596525856 120065100 278020459 109598565 230909058 663920330 242784619 479091868 721739555 269970114 968671405 140516545 624409075 956830872 384680089 354015572 373290900 289884307 147601963 211149408 969969833 241783521 673071817 140770511 170376180 981376512 113895272 540663467 646488277 527473619 601151534 441242815 785488457 145184718 697306095 322299310 865022964 191877271 817413642 698302136 645572118 358710351 875075567 602172276 742774615 859111592 301810600 724059484 184851343 193252675 489793788 862958384 321544173 861854464 914938184 814767728 344603675 162392308 599878729 222096811 154048194 975939231 380979847 273253051 344141643 104020926 291737245 664152518 593378999 722600597 118983618 235271506 301041425 637835534 649841908 517473874 668224023 824116798 689158682 759915958 339386616 342580602 863191325 905381556 344207580 420534694 246434401 684674527 618090096 994551648 103224292 191883695 795056873 966029520 173550044 985782848 214231909 830626700 343114556 276169406 490235378 252443326 700389333 333480651 845937331 840431403 644975633 927580776 481137069 135736658 757469135 159408655 416141351 222287322 840766032 964162626 822430962 568185241 541124878 859704330 399979954 390172894 876341010 649291682 645995094 146127227 355578826 869583967 865739938 875109941 322875098 154251572 175315448 734361484 582745728 135901982 676113270 347086470 500996432 931408427 698858278 180400893 898187702 117538087 942222145 736185074 909414015 872818934 802113995 655298708 629894497 356581797 286866523 485485359 413893262 371439264 942041006 534978181 444052115 911050930 817101039 752592232 933350565 310786280 686016703 968920972 334362288 242146118 481332571 402773252 786287970 754554558 664199274 474581867 744153997 473133861 729508241 420872216 352413851 190435006 581413164 667809684 478688547 273379541 493282049 357972143 405459255 211427544 488946876 163955845 571025268 118505244 738955306 932653701 135282298 154568753 400924988 817211671 761737091 549836892 399133073 542689866 735496704 509936442 124853819 528881592 230142045 123229485 735120901 326327973 307222657 745741863 677805849 602891256 884446423 320213705 818350410 343837939 608167950 661367916 909615581 628163274 355444322 947850931 207318825 165406423 772778814 743058277 550805280 954247669 582295923 147812505 281941409 676567318 383499271 408602858 471501008 166671961 810537029 354167603 241449755 714556834 467715344 420407841 103892301 992997437 938092830 858201122 359178348 654526154 847728409 307874386 567145843 280227303 148476191 534240850 484071649 945703691 236885501 991393678 539361382 709422593 178256015 621445850 218740520 808752171 472402490 151393327 667996284 269952278 879165264 430461849 745992710 732872381 349391074 877947723 732835705 192927663 370826008 285963573 705847654 124831850 970963332 679643726 328507696 831422819 422428891 818934788 383325769 891164513 923116089 367665611 864319548 752106935 455370098 108615845 615802167 916278558 969586898 237372392 629808366 968896305 112960214 109601395 282891144 183448513 133398717 465664486 719530595 672470410 895121365 888300975 561418496 567025518 905751005 428837580 818609699 168352303 482709500 870074648 659223990 689006564 770585038 762396604 971560406 471539332 380489446 702372743 626042180 280595657 184799603 981101287 815428495 609420014 882453287 908404295 319381920 157821508 526738033 196263209 175005271 651516578 710963314 336591198 572499966 368190037 597634979 197313546 369979342 461757832 435410996 753733838 184374172 786791138 838943604 532660532 280409567 300130029 444614417 397570272 544124858 482262362 643252848 236996066 522660001 799335620 794713607 405855249 665266320 558392340 825312887 988951425 789070115 348511802 308964922 959594940 246598382 101705090 869039797 949160097 805546614 466622597 316746029 652037444 752396835 198168693 251719218 502961469 445556780 575499516 350058348 466366554 897834748 815675270 468590959 545969811 576896200 313525974 484811050 829939190 198876685 856989225 401197343 350227292 840021019 569072904 355643184 972150440 713709816 785425528 551574188 986151682 567744680 206124134 293584523 166686061 970254959 799859071 964011853 898462026 849772597 891223722 366885987 308785892 786197225 838020079 590491640 237004891 566568565 238097748 830837959 972545306 951686597 688030419 361858729 804188308 438244269 554467625 892985868 426196913 872662088 135805131 764651397 820994208 204047967 350402454 796340769 133245815 498408240 695932821 266297966 173026591 126668922 726775044 539858836 489061078 410008871 190933646 799714868 734636565 351206059 352393135 226443889 209628236 251753321 460212992 199817079 132232083 530061542 105432612 478881296 868562461 317128925 741998831 408633780 968719672 746471991 832710372 434259747 766934715 475339997 669424977 452054815 175023610 954241414 340530065 172414801 455550042 305274760 556067486 777037572 948458979 892199995 281207595 101993109 898259453 283513844 367905102 404572972 126150908 652602754 223719088 297853677 650101806 447469245 433882037 615535071 643992111 314864583 876230530 957397412 877638903 385629478 552375325 118532535 564854511 986492881 483786729 942099564 391073210 768356717 810122055 908767094 412429036 348519760 529129500 854083161 439050970 594374342 496976337 654529498 575227258 624454299 284381181 673951664 557118108 226111829 873628665 648400242 124961005 603816119 602537997 274185206 825038198 188685755 219804193 386706392 994751043 379926463 586361662 792710292 520387066 654907873 878409399 893167354 613907835 906651955 111523976 279522286 809261414 433649144 578075675 897898116 205333290 614903790 342020583 375724736 731391839 740646911 326484984 741116628 688173885 391809178 324191909 647536236 290982989 210126846 372473159 281845972 981736063 254262208 426515530 283852900 714778230 884818041 887609247 258726820 780636593 733676754 717067952 163760598 706191966 986215110 595593174 867882804 276441173 497735310 263916275 999641743 259340076 928987167 814641512 616821561 403451699 248985837 243958368 346912515 885772594 199185331 629658283 505418535 767217977 285979482 743992101 283435168 698433953 667935826 320856183 341114660 868690693 723507740 677515766 766020320 784222075 849057234 926566042 446908401 989624972 790250481 986668329 534733555 866056117 859037332 525712990 198620300 247468032 376942476 723441100 168491617 669379335 713475374 749993786 406795343 120596672 613978529 300703903 945142058 955691224 945068685 399167471 880868988 210297008 731738786 430683109 886770393 683833504 969606330 643781894 801209362 275231787 923741224 250530190 492930008 943627364 318276828 862303810 382250404 771460086 616147669 296477265 491064072 225152962 489218273 342796726 779116005 937639726 986625939 584808937 726918099 859915783 176475227 173383200 501178727 634361883 114949814 185484704 166851778 513591025 832322623 715625706 893106989 135561504 177827518 461811426 113237988 972716175 308500070 252766181 154210048 974196813 636036649 744901168 247352827 227164842 196916301 551680863 240333986 802202650 305022857 520243526 960278650 220286663 165012636 162954755 971069144 365064431 571312632 327979050 919274211 509434776 790099367 102947810 510538045 191152238 526969186 871401321 443231184 821784563 740082408 337296559 193416087 216508813 890200751 994841085 874151703 703120717 963529360 768635854 978304969 826490789 154503435 990203627 285092966 624193940 442350770 690901153 962980809 501673959 845393956 822460796 279117480 310425685 328337914 330194494 854195881 373482395 384420165 856199385 233135326 732620350 492594530 311966563 358786731 530687988 403727356 521476673 474305669 345419886 246378287 509477058 920564396 700713301 168482761 849332700 376632944 546516116 849480234 909777577 531125318 262886538 553313719 875619794 453180825 696382470 665329358 698199845 114254777 627441640 323549322 475130440 990629872 837037690 789286979 456283623 466839122 590925603 489607569 689626605 217625284 680303237 544053546 239569537 962416339 747716942 684392622 617455670 953990085 378776482 540679633 744042106 723320986 537172405 673176209 184551869 101604996 284107298 930324663 327398288 131621306 526918309 406724036 673460475 178763387 412134903 537601150 406315084 679621411 686180945 253551972 150718739 435440903 806453648 119542551 134529144 338989235 397498815 429561632 719962194 211430711 939945029 722658906 788859854 234112957 422107256 536102479 276857399 445735454 499148681 354953953 791572999 902576722 157488946 835724192 322511046 433148597 670628898 527614792 732648005 558349353 500335398 804163034 567830752 480806552 257908753 827062206 343553161 385898696 160346980 660151509 788574176 422883294 276601104 421673600 483114842 551909925 556490174 132585332 354821930 957055333 274404814 140881830 837007958 912010773 684710485 346400376 968166451 964561071 885190523 981515356 588277652 412556612 529252408 657024628 200316690 580414794 653929323 101060333 674558696 678729302 911867506 532665306 272635853 514004229 950051694 966383192 273711414 133060803 366985826 855849676 128902656 502278445 122989539 844614556 683662421 552158651 431050837 421203892 275271427 149768164 111630262 717919599 606770199 368802048 101642127 621190800 809066167 340543861 642507424 353578197 362895437 226271347 521556933 201796294 982520669 480660219 503543299 199256167 445148462 336171509 838702190 315895237 790203931 345102186 472513542 617990975 742044797 887510949 178584316 526861138 978039696 683351738 352392194 928888168 600128906 813262788 543416601 961811062 117447277 221857878 989393408 694273913 344517268 837167036 154506851 776488674 223429869 840414332 368784822 737296656 522602607 662809405 298586236 253486391 129591850 205572939 587174330 885678806 598086423 811955548 947923081 547760683 572123717 529755319 756953823 805463427 848792753 598846452 206242152 626154589 435593555 217435937 260762669 755703023 525044424 809594411 710014345 355293599 237973653 530051817 552087726 561739286 535251490 378722809 801925510 446784486 914099413 987074580 369463494 648058910 892785631 819546010 228453772 967164797 896045208 998790473 264640822 518137360 823563108 875341120 906381623 838809452 148888122 528298547 776564785 215243269 767307000 418493279 754308540 486359542 165205378 141241802 400277842 597005290 292569394 645206251 946765791 671457768 462226619 840377187 679601664 166032485 218349502 661194572 948683454 248922753 852358090 253869475 727634876 587057035 175629786 637991790 935017275 606373425 534840250 893065853 139310375 454501064 218144586 188948456 770429032 438466166 523491802 505620017 764327014 781369597 799978471 613532421 580892907 660816775 317214280 494832535 832141003 153113689 547860247 755774267 561908097 662120007 279739817 266555131 646001194 374836115 888289706 801087989 666824732 470767524 505449400 173522062 817311721 975854154 697851136 879962373 186269126 247396460 137771651 477745708 180712431 475808414 392128171 349804819 969431493 395771116 307273428 591023998 665422470 788154887 560787483 993308858 220488160 230693889 915241727 155438593 100312882 149349931 590235132 582594911 664536934 909343003 720251645 931945737 176501479 672649738 281707652 129920261 768645575 932337055 156928592 277921848 993262082 169922714 163295206 618875396 730443661 823877464 327721982 178689297 870752260 156186972 237453086 373239349 251002772 760737804 108642878 963574523 142209804 330526384 544502145 249024686 227752310 279232538 141027313 844215439 156739239 717829075 711836087 621334992 876155960 945004871 856989321 825928034 326350022 869452422 947958202 159973175 128140200 143061071 993526426 452823725 221525330 138358756 619844496 969630445 871164658 480400910 623859014 684538983 442470476 267413414 122223447 158603286 757264506 891467960 348777050 155008332 158685259 891962571 105896419 932170694 514888117 898391046 960874212 683114455 972992769 252599045 965470059 476480333 336774141 777325611 219060785 937231002 654352947 491137600 864892674 447682205 500275346 841679375 521099291 687536660 218379278 815991880 108254347 625546390 269367818 554605201 681330492 426206865 235931371 487698746 393377866 192800365 554047714 148461517 235736980 613199695 105274381 677698138 409594964 227385181 609037804 890643503 223353083 690834512 939650440 516467364 838712501 271199029 732702449 354834454 498985804 670999981 705105166 765090221 388444307 731029193 702726794 911612210 580967463 424671293 953257873 101744639 455218444 143564765 711514520 923726675 480141398 235632682 463268580 701181611 900591143 317883969 577563013 595239701 508741250 396233439 704650436 208395112 278366766 516446286 713455309 243686805 747240305 768291734 860937196 776967519 767706020 925867208 330502961 850166311 674666010 867093555 547742444 530451911 822212195 767292707 852415637 222766303 800920714 625549090 393659231 474735890 192877846 243161804 586088337 894952037 447091805 295107184 279930140 449595160 558565340 490410942 336099584 790925717 506656357 820708792 176269874 945425267 783653063 324763928 842687619 477902418 802318997 710945778 877301024 857490773 974295019 687947348 483222660 287990549 572436307 131078594 784827189 254401370 372107715 978545563 916571735 760941063 422401084 321716478 460408042 488264085 728293042 279160925 401233924 575129315 160944668 826999204 352472592 610777994 146701171 128019399 665638973 201688421 321042613 345831082 271758746 896731324 149366719 762059092 720854888 687340497 311059434 734142685 647411338 472916420 249315033 510564369 107914692 610728259 154997399 451449711 803822302 807480389 975929431 678548855 629574739 974232729 828802854 314365076 630656401 317238802 919679486 729396111 767300270 113387707 791507286 810321872 473603585 810939456 468566106 539765225 438727592 122075546 472036519 693751183 526787427 515067787 693566449 507697905 607135350 142818473 682924034 842587582 806099353 674558273 136783485 471188264 283203062 633570283 622111194 507007429 807773258 848370224 838904057 809388549 982495875 255139490 126060660 146978605 971204652 184128205 826164756 265958845 495898326 196130377 805042623 372674155 187181918 400925738 391705992 896005031 430731992 672300489 255119432 285476177 804039272 929435076 677994827 921955800 936386800 617392553 895363050 240943553 157972414 788776233 906132702 551774106 790330840 539247225 730490372 387367814 390818142 167318564 565141778 409929683 195181466 389776428 592832938 541203005 257101586 875090032 182485697 390713494 483282237 918972525 854264412 245117345 603012311 971631691 326271293 162278347 137538153 430411619 306138810 893770100 279344803 912634712 363617899 757739701 783955632 166163706 318397967 695436075 625499161 935066474 768280130 244381342 294441879 129705099 799862180 811986435 894419606 665964077 603113856 118766949 156413171 472412819 821782629 991036666 375814129 837748854 272095274 108143752 358702482 413886272 348711950 241742958 781153535 610133066 490645464 956951079 638726013 111805549 567333562 873861413 441380069 363797567 171348026 797203814 326304524 736799454 168296733 747244859 115603954 854044344 264572521 358578716 336509397 711127113 755452189 288998349 459340340 386149382 795183095 791683172 549029692 567893496 930724169 142245117 844950173 605847539 896063247 950495287 617645619 334369805 520349833 751995419 770627110 429322069 234790657 959960728 414929718 485326274 922442731 724628346 413408776 910614794 735672915 290020545 862695266 102820757 689837967 423939142 135589098 711584775 737669363 365186732 479956627 716491189 417305756 543194474 962581214 366151066 405103793 574555249 939076943 411149802 251099026 961990975 503346868 151143135 280972071 227218769 684454766 388691243 534113056 349114337 862141808 971517892 835848742 811013679 197213619 989896632 521444441 550218997 748117089 589266378 783823096 542025070 747525647 114442630 946909336 741451227 616232636 631210809 593377276 564308799 609348317 911325357 956801432 255039254 716974413 558572942 855352585 582149583 220714204 419095568 965837192 820766947 797372257 158373230 691670372 685893597 677649082 140503225 645333537 597079169 653572090 661950766 963877206 971194973 842004324 396078517 661435171 688018697 180858019 305297034 871039125 633150278 836208163 194795138 667156865 263125564 543365617 914461299 349458262 585559528 186714989 652203763 549048154 522574204 597891419 998468640 565316007 798854059 781171026 259922337 538813236 823576195 849040104 599835259 824782272 310814846 729247464 971606608 134508010 812324824 476681870 804704507 943847862 747758049 294382738 587998742 431177374 131190194 932688025 897612419 174401938 101725822 711798478 612789539 129570538 770831038 485246617 465006584 435523169 531781870 158006438 218831294 134486932 262821755 220823405 136966822 111627005 583642598 941273363 883284665 484126585 523116517 790556010 340274131 402016038 632928529 940931754 379717191 169392248 406048644 251535145 493185933 704809256 318825108 101356668 862419777 165212050 760713996 162264174 857836668 413616769 993640445 419466023 827084006 962854654 817527729 794673026 245033151 750735630 363014200 835117310 714173201 249787636 133566874 979715212 385894079 228563301 359086806 790522129 459665196 539069981 993267139 733620562 621610599 205044460 276770445 758944957 548930569 438677616 611980922 778080625 534362846 958209659 633605590 184137505 158420378 309438562 653946399 151992863 907378207 386520196 815541637 510572236 788876558 416403392 616803094 983794404 990868281 757522189 836606366 264909509 377061853 451122271 243050988 607739069 686345958 808437458 115458449 818030568 872877289 702456146 750600360 512408954 226330618 350520134 456830845 349987885 399909544 416773105 483043614 717301977 918782581 677774734 816898322 440325868 690781690 178982497 126330385 489048861 960761163 831138376 750614929 363528715 124589332 915921379 159824875 886067429 531512395 224858670 378645295 347904120 143146405 327789328 647140331 848733871 870008006 555569425 693491447 598016883 756877848 970524212 245099810 595395258 778407304 585303548 429818067 233444642 629149667 506881211 842320193 800037694 878351658 800715831 896024744 769160770 604750806 964133766 864060743 170415285 181067282 885443374 287329967 673738624 984492951 303815121 155658892 188370036 890021976 344040761 578018655 165462256 543716809 362320840 673506853 481591587 552067054 215133762 190787314 767888545 655528731 567773782 651700374 412806381 304259373 711358288 666595161 794562375 954440208 670782606 115853130 670372770 787195347 102970807 708428737 111594225 490497311 848553071 529683891 723684767 153877237 286427632 921275066 616502476 573086235 441847773 755308585 279589394 154659661 415760142 542300829 793054140 394414286 316717787 175038820 274127157 428444260 498507920 241115724 396995792 798956550 449338484 144549971 362266187 158216835 567265004 631988562 928434109 553511715 632861946 456896534 680872612 627175807 455865086 385581959 641828145 300502599 395501520 170560356 803550754 993034709 212117945 861816455 733295713 864722091 470146814 890448119 298872864 358489165 700604884 514354441 582218964 790945574 452197759 429311738 589076142 879813489 532738295 602631749 780537925 833164051 490222499 849399215 177631045 876606153 576157881 817259680 676263073 459662251 340745635 269170256 132765299 220981305 938505602 157157831 994675282 107316899 507656253 911998817 529706225 225356232 500992423 442907145 128731417 513161765 697247706 793441211 112459160 832145056 237054322 995666293 162349211 617703159 349657449 680776773 818262977 317752371 822333595 388005415 664586633 419472893 443925226 578859832 945931425 317675050 600376126 782371872 492544217 314272883 297248276 910592221 176064430 158472690 988248474 523440990 780496402 591520228 370345722 190424237 683195800 190118709 468890108 539568184 599145555 776578800 688530430 795392082 405232339 862651481 377533638 871248058 311728768 823206949 574288540 236262052 559896344 755485732 874408527 564053963 169184400 535445710 615669073 118263446 299084016 596547393 365516838 476150464 583629901 872623097 183660126 859100892 567599829 816445084 669222752 927769598 524879701 393868886 947613333 911698251 450944121 189734278 644834338 704759884 407128124 833566255 553998574 201494126 501167103 687763485 748167531 562948716 670514367 351547439 619773937 268458814 792847974 953317421 248445428 497011611 880225836 390691304 812974053 810809298 768742320 484039371 979964241 395397940 830757895 480248382 803289853 963731316 947458892 350672071 697902681 867460305 629937452 550878876 474171185 714014742 972191870 745263348 297289638 679794934 129704065 702428836 484717142 209301248 214255598 641982849 597025964 178844688 934253418 473807348 410759300 976869060 243621137 402028131 874440815 665189925 208955098 812552311 964770193 523350718 374720020 916257059 488987248 509453612 723780885 113595650 681695055 490197400 376329382 231718641 669334162 727718011 115962940 953542163 553983635 568205494 401499415 217269709 135941240 796142326 107529720 582507542 139173760 849981813 550274807 125707289 768797979 596689392 898815651 451126755 978868540 243311383 651339928 988730666 365071234 133516038 832604485 582737940 193690406 443509804 200376055 129604716 460619882 448589203 377820960 773824341 413256765 192307908 810869098 342127275 587230547 424929628 754971884 172631759 240495906 412310050 690564437 922882673 499298766 778281493 349596249 428715390 273714709 771439639 555969211 722428317 178518404 623930944 839755667 438187194 380121983 479332675 300853155 942908065 488808110 988073066 934179222 801056688 576881500 994530242 126742363 575911123 521658922 419106302 809908865 357177868 388351698 212932362 745320814 306713356 178396382 510139565 417065758 668913543 698455809 662583817 876558364 221359051 856030373 601986604 765051978 263482100 924754705 610932154 364402216 985513750 563880907 536047191 381913124 413889637 958977632 435795611 562334209 675206319 466945255 312077286 548311672 834648749 336062015 150178995 368977938 581095643 846420043 648964091 483187375 833590495 163038240 854484730 604185673 637441267 547974845 324265750 934128831 975435753 401531380 125185434 785908157 460029206 503462994 502852208 714087372 953387996 385515434 602114268 570414036 590496505 331967146 931078357 734946507 509819335 522879955 476251479 825922671 335899768 110970090 780038432 382609919 649507606 502723506 364977553 670674135 847879434 909785992 260929212 841759219 347714568 852627340 129951977 123512588 143040319 837826373 183672503 895362041 500537270 755014051 261663461 493378400 752293218 933639949 761200110 511665480 646897775 126644741 464011170 692915504 288523720 635412190 953104924 393256811 856466849 239248228 145353771 207217822 556476336 797789630 700662187 453398555 520674025 548106002 507777500 255780374 310432162 759338137 868535283 414333477 180689941 399364840 501861437 401409876 619379258 554072394 630243552 916395358 752308991 561854963 729074692 325609022 886440855 308540758 416437136 125587552 960716491 447196690 713717246 488134575 126119665 914172079 985520236 334378495 135030424 676039775 186527372 975871539 241672839 358487058 901686020 416301010 201159525 353868959 980688368 788293071 187723862 586750744 968913928 536925543 900314615 697021463 864028539 863723189 867781479 395466511 566988367 944208681 819907982 330707875 705492149 942995429 493989829 540411985 401503659 774337125 194024568 544428146 622560628 202964552 692429456 445790179 823308289 429995415 572344365 354115389 686645698 337114721 913213129 962018265 365031166 319105183 741785820 243500887 317885164 533618497 103039067 268498122 863983667 874234222 251933495 730181735 187850759 641087868 857926445 728369280 807267723 621418057 515644970 777831190 803084141 340373561 281376155 716535752 313451694 310859937 623988297 661450371 972601265 180401853 360898917 400148822 400838363 708564877 464325981 866613304 377969645 777432238 446689500 193707627 914746189 117038219 996997462 608602751 812599078 135320902 994390663 394181568 217663462 418722264 874688122 631353924 962376894 607928227 912034103 719186761 598073847 628996984 963911086 695910123 589382542 568199557 482263350 151996537 144442030 350749719 687846737 439174731 770332331 715040583 289788419 899418727 626971488 839516205 361333666 750935309 473144480 723426133 238973225 382188699 378191193 154852487 182146101 724509630 208105139 459380401 985568794 615817395 693317692 666329042 230323781 882547343 239403198 560683600 808381681 411358822 305350060 195510697 846024049 451511694 609061574 548757543 795666615 644919539 772898513 755434490 602960431 100846399 761687816 124436758 141963436 770895412 757503660 216943092 484528004 424935900 426655529 693827396 681542645 947484708 591073251 480484895 529225760 158474145 454070814 192031213 303126312 858281061 723157457 506377420 250852279 739004483 978843733 127575243 274659066 535071020 890054260 822002542 446304528 931007810 966901617 302658840 579502367 694633392 734203153 968368871 192947880 156268688 642123702 990594474 908318946 559364067 392363811 620988313 218118884 768412588 204774091 822323142 850471242 231983698 745215983 412444748 528356985 545183307 597095837 448409560 256231848 303391602 746527830 529009500 627245797 937556306 391586760 158145360 183162548 415774854 794027970 430868083 347943447 287339955 757225773 663297473 769819390 938579592 925481601 910996904 415486495 668983093 828339465 458775080 477150417 358619907 874986166 245186750 194040137 612840044 855815032 387389632 679158702 913468844 146021556 794570823 470134412 861171801 990262952 964939889 379019247 960012829 770529430 926950245 657803722 978035198 445237690 376872649 339611668 575017455 653384706 400621130 998879459 157205736 711652207 930525074 785229132 806726862 593521421 351184723 692423064 397900369 904290967 740262100 836206201 765306259 565207007 511625453 917011142 180434470 682142076 273616916 811371721 800918350 126334481 215522227 977382785 992452084 744786622 644655494 370683190 813151379 329062562 636319552 476788510 317051199 258200436 123383687 552730189 447180509 746978665 175061262 880278898 752049471 216845018 712970048 748763304 482363069 882038293 892629146 840579814 752208032 299609819 669306946 495432716 811521426 504713857 573831480 746078020 448687617 190572084 872574966 533850825 720920503 619610390 375059230 256085165 390204571 180106617 520971838 735183317 421089949 859516917 434224798 828945699 348570969 256614401 636067987 101810506 438103930 811151840 994197289 659155166 709680169 702401586 496645860 454246496 731491911 672062917 318720241 783643357 673084175 548069597 218625663 282212806 493505985 770080709 806038920 832921825 481905735 157261174 346781867 545294771 309368724 337530057 337858350 267646646 120781312 103755954 154574556 808134577 466677701 430655185 830498907 923646051 165937457 886072356 495014147 893410531 724003095 622972860 478153942 394041623 381038644 211301039 796728331 816678245 283149762 558202917 414450321 555866212 194860204 998332008 867708722 454147351 413072302 306982738 939155553 333852048 379005834 108339113 701676942 969286973 935909243 599674098 473462180 593721511 465087392 196200027 827316425 692250255 847318540 593995219 691142025 527608213 240111318 303412413 278087718 115916306 274115299 868327658 347015749 342790750 581621063 274385174 614078840 351088571 766783852 836948253 541965790 759238886 841225931 838331126 824161947 886617482 597613111 640950061 222730799 650406420 243570796 631096346 340411639 749547063 804245275 177675423 560238575 899974128 601611016 790368054 938069273 590617748 981207038 947670926 356344790 346761514 279702358 498822676 898252024 307700861 204579821 671185505 363821881 766971221 217858008 852692919 965559078 225363990 771753843 565797791 428001162 957875666 911552159 295867642 145843692 260341175 744643122 607224107 252665700 897245842 739742992 647402494 139704353 364696399 187501329 608176492 286253401 196511756 985194950 216811825 281147254 767159759 393573989 815622188 487951651 613845264 652914977 853948135 250384733 433096517 241749255 646188404 557776183 448984889 673521474 591607024 520605371 874380074 920458984 938353566 128000021 604267521 782368330 308392527 464742565 266681016 515324658 842049448 659935045 773598841 319700167 782944846 588189551 743505127 466555441 448975200 532540873 125176424 534774463 616710851 275072517 224287215 468477580 681969463 131418499 552462450 167798904 365525480 672698791 821868048 962147408 227436458 882312236 531456248 905960540 514833265 724975545 347348286 393077760 747679107 834257813 407134496 410180926 696034674 479665931 498556248 484625800 398267044 405776712 622572484 669814742 319774380 429824068 578274169 147974120 528379991 327062883 641309841 117028092 828860418 764407843 286187033 925595679 638056920 949864337 719856926 513660181 112882262 299147725 296350284 200601407 330800660 529399790 736193018 543452286 594904542 912792370 771029893 443049651 462964976 879838595 979777208 825756899 685430640 901506151 646240425 401001072 880324873 505882228 310769635 942445218 711313244 403471069 181974096 501539780 626579651 138009487 551676816 752739981 683030464 866034974 395902159 659684181 271505467 553299326 679405421 899912464 203698091 938059036 991860353 269192782 106798090 610640629 281088664 749591556 943756057 848682579 948074724 423433283 884387481 470775933 455342761 145394288 211432349 786834353 822460159 883723391 579346173 541609686 735935840 367423852 287822815 281168134 226895284 430957886 526228441 639077621 725984497 339055364 868379519 203559763 189257029 897350640 229191698 224542925 981409821 186007398 833149169 849778256 542497551 261833012 559535585 871707617 895281676 694853268 666974541 565135716 407962302 667899025 900898947 706651988 885351548 874887783 182600934 862715932 589257343 674558483 135369407 973695983 999936856 704108415 754748458 536965404 431942527 181435291 329543187 465357894 367798207 503858800 793332878 342532733 994075016 617715589 378488843 985250571 560164862 703944086 831277290 681774705 117282974 671938133 957036062 872584230 534463868 340587373 131026622 896448540 891442825 293141605 899767545 336204141 411552552 339742196 353918147 764602019 999707520 156983942 311607165 608503308 390844789 643310694 817421699 599982824 947651377 552217355 713660313 867220701 283192908 126698454 628871441 594757837 259349308 502635140 248663460 523488154 540203715 435230960 369327595 929784541 468038591 722013504 863885434 888790855 720791398 514560912 903215666 988740921 159222770 876354429 297793636 573882704 477753280 224453558 318557912 693222969 603427491 891464389 246818829 136528454 779380897 694655619 253186857 733620626 991399895 739762863 657604142 840929444 809356924 411309710 192727806 684164889 781320647 524097677 648092188 585939044 353571060 984455813 565294000 416016054 813637446 924990454 586634745 236208288 285052402 819262434 412623956 970519197 998050066 492181341 428549257 895237828 633242376 890044012 688039231 272049006 206678785 242035149 227761293 555857078 631984138 467004808 619343785 898224403 653508937 269551501 379519564 709667709 211595448 387653920 921867881 582386098 602828445 758895274 443022477 624684583 814751684 802097592 949577560 937822650 332771705 169092347 420488805 703455943 698315150 688137950 169281042 782046845 562238787 135845601 915233962 587934630 702748967 942122156 955658392 854160780 167597877 336591294 882082570 817845660 555370074 265432098 110285993 770283872 698741982 480285871 649162799 976347510 461671615 319662704 513639941 546469053 526998941 989999886 622689664 889775529 160784770 282767229 720283430 696142548 996903786 128164285 525288875 382690899 163677058 326190872 652629934 120179862 731431435 455054260 429467260 317040089 489593123 716455221 764839384 133229034 176172895 575792864 866473831 184972055 317533172 346987110 729816802 934533645 785234050 645825042 786285809 407513560 877792095 139564961 986422757 737119261 166482424 562702520 358169647 831823443 662614574 336922183 615456728 657836883 104800259 581611120 285550495 979431488 124837430 665162300 480498060 707119061 144537751 653332917 880304727 190089217 968687123 831771551 150468300 580781580 896743184 917768308 543610159 110651016 463565297 497416689 211649872 645718747 836494827 304192723 725211518 412726889 230489990 247335686 315395408 741973207 736451861 422470986 270861844 573776524 289684484 318382846 356973917 573246873 492288054 708648168 688998240 486358223 519231317 461261581 329732427 581700709 665268377 970235198 416277562 197727909 755545999 887582331 256299168 445251148 692948968 285214014 102715131 146779945 340598303 208409554 317378130 723489436 277990980 457341687 175184769 923410364 737772831 182669677 256975737 793230837 836159155 715260240 451740949 565665086 734860099 905390743 314723429 431064428 723865862 470324981 973497349 321809437 666118041 963861651 783373852 511561387 567264498 280756050 959750711 731086488 846704219 860659782 886071940 115632583 776698447 643960033 691067765 177166441 413811987 537116474 216944518 848770212 907047689 143714442 464805893 593920889 273669327 139839498 451730826 979865474 957584519 241597701 757255304 622037416 209951841 356595762 802344267 398103489 759869047 836493177 198036777 753746384 432987179 375441329 438632088 669112785 709212991 796730332 942626736 635181674 828433737 904947311 503407104 738968496 702713809 591867510 663659525 565226600 848656724 464840588 558390060 467829876 265976251 956021677 691025363 106055198 579317324 193116578 979394163 357059795 784427158 730905167 196421842 842274099 363035696 142843715 270166002 155635954 638295412 662538296 378068231 338045711 538577932 746913946 974487499 130181732 898095926 278519370 173215080 834856889 269418039 459160447 248155625 939536283 797463871 987014289 343311891 337367792 842434583 267672172 414968068 208606597 591885488 368671813 903889355 516099327 823933936 333571895 561496993 312474845 935242411 252471169 779840883 979032551 502939196 805344123 542019441 628150877 812384835 104346024 505732546 855949126 101094590 189664870 422253146 555449668 570342618 983913673 415027993 948411930 486589701 819613701 827329494 925978668 563925756 332755680 868492374 422165667 367945161 151163998 919421578 171744974 927787908 651003859 935448423 836265973 711199906 703397291 570287525 665833574 104966571 701716839 154088215 941580383 846403154 972988164 248309742 256411523 109049408 282380149 642196388 689134408 270365320 462233372 252140501 419106784 135009098 691692262 849763124 336655275 429057085 276019564 102226343 602598007 480254349 185325704 685584591 322557798 972804499 925068105 136238420 459612685 904889883 431305274 629908892 948751668 580146192 478963033 278018040 989422296 971022788 184726355 410868953 702455519 472892231 428754274 596549886 218856532 584349115 968771713 998423643 513784305 436747250 297137042 477797911 219164276 945284175 234077720 501181425 763316597 401247479 285448448 901855889 504538452 434350315 399332244 232880461 489688938 916171059 986431303 150104350 844313004 100824814 684591070 731111242 308148410 506267161 193103762 922150091 983174357 110660993 302410611 209505894 594084795 662375238 257245095 343004019 779408021 636680228 877374258 753199525 902194634 867169872 577780169 860376943 291755251 977693122 316570203 426488742 767356989 815514120 401422531 168457248 268913876 490650591 849647031 301944340 826728242 726399432 307317778 369218541 815075415 108587540 295929089 896203993 636200624 694964570 529529708 327824103 906588641 148563281 819435813 687774984 556111221 392363240 524689330 212973339 165760285 788596668 928406433 892956159 754984819 275768983 969948542 587719432 261634152 717450662 207116160 853132290 100184522 197657195 911423093 210204541 248586739 583782033 363650190 962398907 535961052 788420639 607333628 321763941 427274531 182092350 468080701 254922263 850746524 129554216 743091589 402147809 291054356 660277894 151338612 775233537 847503364 495515636 103492936 501032821 353679947 785587899 979182152 201637905 310011836 610847139 406242137 620844370 915582287 837498310 288364734 990505747 165587066 491846683 420795750 704729165 425755116 927769237 788003023 554587931 557811756 111141572 450858302 209748933 252416740 344642496 334858380 158724336 420867981 516016612 341505978 362483405 354715651 805047290 122385585 584869314 730892950 690777415 329426694 775533875 462371229 795192356 798075825 834478709 753606317 830610274 594398079 758314345 161098117 614290521 543034517 682829351 116071597 636291642 712694138 442318486 250272316 342271829 269607380 711375081 120725987 411159072 687685749 417862523 190513662 453120603 909156628 593452131 950730386 970046037 435673118 350640666 767685826 200451579 864551105 725887834 408512445 345898975 703517380 126146522 543693272 149764724 781619629 263873360 841549499 908784263 459246284 901941915 499763886 128983472 596556053 718004881 465553620 243522863 641074226 357756852 411009133 569992487 619538082 507230508 833946054 964129361 378991293 296193065 641793902 699781915 847493326 710738429 390615456 458311026 661442162 376703943 928249127 939919150 183284353 216874684 554031690 765295077 774069449 402240823 852862231 282571623 527602782 222019874 801574520 969071326 331989040 443626387 642698427 229764320 378149934 788503878 257059848 875716144 618055969 988416325 451897114 298553623 338459044 597810348 930219445 763319181 870864191 651637944 911670150 152202390 958483193 752296762 828260390 325208248 301467100 180310850 421122077 987712305 265167504 758218223 846607247 896295838 740676444 664402604 678841229 972094996 850972560 780421358 562650094 585719864 317880317 445236048 686740701 468673749 731395294 766761064 118877564 542057125 639190362 808488282 311304798 708001913 514095765 892550058 728225044 606455669 779576568 991757596 684972228 438643278 427474168 635115627 198863666 167322469 348790097 949369679 172192724 231760543 120993538 539753930 796511526 510317556 666435240 417973019 459880060 178542650 251011261 166864092 104307574 236303084 675400650 778244717 958992478 871982159 153999998 804804407 995208510 978461019 672647590 776514391 461416493 209189690 715816398 166270420 910643316 854940512 223918136 662369294 655429398 755124733 762205001 567862778 734872813 869453616 589841668 863032143 268531559 364671767 446621768 544516664 523487870 750303886 746447378 625161319 480037843 420618489 163973343 183643846 346777273 198181867 449117022 231846026 333526721 766335130 431675901 397554062 772317638 682114072 378749692 639119161 917203696 750278421 869884012 380224959 666122677 421092767 688771297 589405959 685947973 686077464 410004639 139600466 324360587 259130796 124889147 572120946 246170367 469141932 191309403 619556815 227220991 477326140 507230658 723810315 302219882 851792592 973458151 820623589 145313799 375295609 591379308 386799947 357072549 827193794 531835393 865796125 175764893 375744488 575770574 403997483 792351230 938538154 163862076 816918960 191517241 860104442 746016342 224394862 549136531 470718262 147194956 343186049 233707104 334694899 670216916 457606783 745597943 265828173 773015385 816115961 758918853 622996646 983401729 109030181 990645227 366370537 456393919 365399044 976991605 506754988 525557004 742124235 355341072 367900739 950208008 445082308 205508477 853986244 149726109 382663609 605987325 217780324 337102566 545393053 236452064 441688585 277782762 131677588 331189521 953039020 271425742 256229366 115345489 678325325 924669308 791834954 808718836 459062138 122710580 509752945 134796916 331880861 713922526 305430687 828253870 751763809 807561482 453933960 857738059 896852238 981839182 487633694 278314223 701671672 270855341 573037638 243657717 577781146 984041918 615743951 425688901 143914503 715980820 456879925 942721732 519934801 980464304 288708557 386732654 408495988 562634674 590927962 265905071 126236093 419980920 389260945 442538056 277106221 244263326 888998277 847279770 773874116 123531757 352086227 213690865 231454696 455512385 997889582 560841136 940348428 866010262 173607746 357175380 536407186 667363614 936845344 324217154 258767786 703813188 915922365 469139233 466170042 715683372 379794747 685392565 360150729 741010712 278784999 269359454 289495850 832669031 391792460 108214503 705072934 634914840 848132963 840471712 674903338 807711755 423299312 230158569 485393576 766102187 134154378 268289926 564558893 457100650 464861471 436660691 486661323 851636971 432105876 827184967 988881612 134884803 747501241 462048171 847319405 327276515 885234261 822391529 903192627 383291125 924804158 957223146 743914310 820520805 508242959 846740887 502923644 719014681 960797300 218828454 853676115 874736228 583132396 304820626 956487534 217248435 408351149 609136874 678784866 703054766 150653570 496883749 878953668 153813890 537555835 462994208 375349112 752680623 961055587 348513902 389515878 483560208 801027422 541880223 329980519 817074050 355137976 988030257 274360961 947768289 495300510 327433395 480415367 705305857 661320761 379670996 583608569 533915952 666525701 105418109 682955610 311211976 677043426 209633146 804033817 687430145 714845380 899806872 728295300 690294909 905501669 141870577 195909721 952562726 324864158 590524979 440270463 546157633 547010446 123152592 474938896 478591386 729991020 739184570 152064675 408982216 899701484 183200280 881015186 680880750 864480216 348811870 946513882 727719637 105319931 834018212 114812091 354445880 108248321 230121316 286187661 817515152 647211126 889900821 217211430 565430108 322386320 411707832 346078754 496601810 145025511 123122208 709476895 474701751 970450751 499606840 367167643 255920180 269201160 749147989 616104367 459116374 730863190 138718858 534632164 138658233 534555533 972401246 288503567 975508978 617767023 187029844 968522789 313625130 854105366 621622770 651946637 663984727 518292043 813138967 643438608 179428862 552303733 464348773 196637895 173456604 503289137 507589367 264039160 846131450 983666508 683525637 107754510 881184449 231130411 328983258 498000542 375820282 162955958 607309436 908161215 118456445 962245677 697785960 265987071 246022661 498116031 356696176 946056471 462478094 989851485 448330532 669290374 629269405 600827731 811945510 533981510 472805784 726774807 336158109 613818752 937232171 290693297 956153721 294602097 814691739 419225330 316111387 992238793 510828463 981813153 556183551 863142331 980573343 381021012 701934588 278467746 502286436 621267390 220755240 451947277 789957600 693463812 338299747 920656449 212011987 914862200 610267981 421051198 201219795 786447058 809630867 815577670 377026256 701766279 174121598 513131911 251135214 809614715 543234376 229281143 975717380 663474819 924754514 439312536 489278185 534344988 585141686 602584483 294953494 204710250 681750913 867911287 850737767 827842732 242648408 592143198 103710881 303242657 770052442 274405139 739443998 738321472 329771895 905672922 205263745 972573812 120996530 153133780 807096600 455711960 843758682 709608300 154297178 111482882 636977958 338817315 527398059 508588309 219079308 453499241 714542620 741738421 129883222 162673597 407477548 944372291 103298189 460613145 302165322 958850149 375632143 213096755 443508257 463921668 675832299 729969014 936623258 176962262 988819336 342404891 646590492 833879515 796481578 294588765 711697657 145788512 657388815 149428941 959843299 936345056 818041090 650447009 855665210 126227228 419901498 684644031 290399276 768029878 228013253 652156910 293761029 945141054 737196124 924104733 728874494 434310643 116332749 225650750 895421128 295037862 473498944 268878929 290046142 210683710 215361764 154158392 681425409 957573891 307517140 831744084 242205078 262577092 929603282 920693016 863813405 183387457 991270934 880228846 261814522 526670306 332234190 890710714 492213844 416102024 361950820 683868232 717129976 628952673 899864189 566380075 255954509 684366590 329693414 814929249 628070055 783459542 371684101 363599012 189902659 142937591 520340314 509387803 767211525 491783602 933602246 964206399 563848640 690777800 373242999 598776116 754436224 618168411 967867574 715804295 884454690 934178602 104854344 884558305 288314595 443935963 479590993 984343107 438051900 487480626 337909589 353885577 455286535 234745555 714475355 667141838 140393055 250305957 457524587 595469251 465914918 485167469 702427695 322316398 101308172 274179240 474853189 212090006 241286657 348565989 556257041 683883187 674056514 703848381 336646737 496700500 781117227 902348527 928112147 615057583 786574855 375537019 224083086 487889991 355383938 201564993 837613908 775095497 756568271 732347957 691418511 803265900 667766032 413663248 188454862 152424012 924773535 514989274 221335376 350021292 794966128 263536543 970852749 303532440 718955193 307302782 356977603 260943550 504869277 880675447 169374804 763611207 711159819 206600106 344153776 897495227 786108029 169772945 983567996 437165449 131132779 915141409 253216972 404078053 531648184 994162658 324250015 284691413 319866153 602381305 455387532 200953869 520331127 717177366 943018056 755727180 203171370 890824476 548540793 883255916 240566766 545540854 414769364 818070276 342834489 286775995 959077620 289935475 377926458 579015343 745384969 908560040 933335773 372873703 685584094 991792976 731464523 203483438 737067528 864179659 592342041 603791028 725115734 637679255 439752290 627911596 555590119 928330096 736171044 650391972 902545651 677470452 548180568 313055957 626863298 781968974 103606501 920707763 297647292 147998458 408507812 537179520 469326470 213970739 768110238 417587750 862100913 898100047 782588258 667299617 531302242 548248683 339694061 681874286 321776022 674544944 689361036 317810283 758724566 542577260 366051638 943248026 898840967 844933932 519208137 156889295 773348868 695505220 675522894 672737361 141641504 624416328 437063943 918795970 478889888 961449744 889720658 351850507 428620311 467946031 450712133 917825355 721216015 841284610 391607264 319250189 164165604 998711017 578695094 847914716 255346895 454525366 824645860 730587533 658927446 210915939 502634688 309455831 446962481 141663860 608564234 834023477 771169813 862819678 416435659 913237964 727421215 150105204 931908393 907246628 226644336 477405261 505363560 452199555 252072359 699510132 292452292 472589291 858873231 294724561 994732360 163416918 990631049 654095806 197691581 291304633 918294443 898399961 938457149 223867098 414749097 234838584 774633396 196523368 291286165 433215842 908407291 705647502 815623903 810721766 747052317 344719045 179624101 341708843 624547109 347530358 445306095 890149141 634330326 438543595 593255912 386667426 435547159 202615882 698292205 482822586 336563470 514380951 506973652 104027710 314667321 415830854 325637965 841703838 111504370 817832530 512634736 400614968 722956776 191009040 408870695 818183728 668888149 142386136 620167268 747109899 690898993 798700027 545647256 946536759 415129181 108560962 413819285 735566246 178289416 773873705 724191248 489780741 643613060 428179716 384646032 378923784 854655731 108125420 653848610 138814763 405051065 155531602 548970287 620596047 171176866 665589743 648477215 950225565 550942847 754695422 889956167 757710211 898984583 538891033 945711011 766918893 239470641 695279681 961456843 615289252 827212814 841309630 915266918 327302047 350151314 696941501 140223265 835939302 226899554 646609556 949105916 888910969 503027305 809993849 531929891 946293295 585497448 304160237 378352985 594096149 853214924 409579908 306867547 898855112 261967206 963395894 961837929 575321213 150777283 612157021 654136784 970797700 539391435 224264714 207462421 525931202 787416806 152932346 102894205 434406202 494759827 864378748 514172004 729538444 394917942 395961868 749640692 877842078 211765350 631653431 308979781 400625963 394980740 168437517 437349479 243103063 773162387 906328775 447792757 186222812 457732761 382011156 996151971 150228201 157999200 365896886 393324191 314102531 816985710 766573396 597138192 211064535 332027807 681097555 612421972 603986891 736233165 602731396 953704404 833310615 876761895 891522401 424281224 704088089 362431373 872788789 183743987 838510657 528630495 910976883 255533986 755808658 522633636 315546655 493003879 495341250 240781027 150121420 494480969 932631597 566339474 214921050 691754973 468225442 481961872 995173459 609697912 445228338 113987719 750280490 715657711 307485078 501239265 713469578 461901814 739833897 550210941 194262949 854663107 786492996 931270853 415052973 255469872 251227065 403297190 989628093 682263293 839477665 392883375 912468525 521832175 548256134 272893037 795710575 102173250 331862842 106959776 602394317 795879708 670899270 735694198 935081434 677771249 730358199 383639246 526794236 776262039 921891519 436856365 109550514 279852746 613923178 310759356 686544007 935211474 136344880 546096572 146285774 902056812 735613756 990741588 851165371 198426136 759165309 897153470 706627903 185223876 660356144 623257732 386899651 817776707 380336515 980193022 913771154 566870647 704957809 414753614 453312650 880477108 598208183 138778790 656148294 696115759 364888249 411818222 115897724 367500735 380961851 666650367 908695483 529238442 608574495 787369208 170567623 337501096 379070628 598047512 517090720 610803251 690138829 923338779 227474497 246441788 294925822 481164131 319493105 603249824 608197456 191289728 716022282 459012907 187161290 914796545 217449470 448180748 629073694 570239638 246866033 914445128 289581992 990053490 173948939 997853793 461755298 927282973 819782697 979635847 138905057 596479365 746417205 998909037 330446099 494807507 122646583 207408004 481127008 537246412 688583875 879989307 495233226 756420694 414268784 349140169 580472810 436317744 823433588 440499240 565617000 218254486 517538763 727920178 683463563 356480385 928584658 260618476 415816453 730935061 398871473 639491419 348385407 159997410 316579344 637423663 966423607 648280028 974471662 269236556 369865976 518856187 429242997 765733743 896905667 998701725 152092128 803612747 735529044 707043437 572886946 168759638 639279376 284993305 755132369 244941246 991030122 478415411 423982080 356983162 925819720 215397027 257936122 254130200 868241429 730297312 386180362 564893314 634847328 804338935 306220294 297437076 300516428 635245837 788553298 503692170 757047381 940669200 117323252 340301504 400803544 754483608 745083225 675990868 591594547 667729120 674761169 952011370 329571106 214058932 775591758 352103457 234294654 101300568 857201715 870468184 889630850 755560800 762497471 829021988 544231774 956823782 145436955 449250869 986411983 911475439 871128391 300143124 745749309 949723797 982388964 135517744 899214526 648834590 649445612 114998819 771182037 278081671 726553983 839782482 378553906 919973885 674384168 465746351 345735855 661062685 790918185 184731225 966833031 975696255 652558277 958559348 511867598 848894906 763758500 448051431 252215787 576427939 579766917 725336266 247543789 309353240 529528684 325975035 868717965 834828802 124407494 713432343 599513852 877205560 317310722 608113812 618308262 600431395 140336619 293506954 257160766 758300894 488152509 885239663 647816811 816694012 311615055 552816757 594721448 725809598 666109037 795980337 327727530 290933617 326789147 433773134 607145293 999747119 175283001 356369358 510363994 968841636 546840353 262208956 278342414 738295164 228149007 964924422 740568146 816619701 289690767 843402670 353563483 451966569 260651653 557838165 864294814 510369670 926318765 267927021 740468633 518396315 676261674 978992901 593838572 309419150 218783038 388792416 168032622 562407529 315015526 352247762 206758319 527855841 857979350 599509124 592697059 892187596 578423281 783956374 625139638 797252625 140767447 599729287 672598456 333005635 579296928 294931288 208034565 224397252 432270832 396644407 457551585 161328121 655126577 860089456 180922770 149119467 530433680 393265522 291501578 348666290 700582534 261829562 468261878 490382894 369021074 485306390 589595612 175972054 986387610 502424711 718245706 447805923 817278881 118567761 675973810 999775557 379704422 583060686 543798146 346374662 481650154 107309157 315337049 786312920 645602150 930857965 864015639 805983552 881858962 687493781 917279361 410185358 203029435 714503099 513047316 503541690 760683033 244651097 125232198 964220891 738496910 531584884 979347231 870365461 706471448 582777447 591249705 468439422 626613085 919351057 384450754 472769449 709988903 958150237 303859223 865879839 423437030 524908184 787992728 663044895 748116874 782182210 836457119 164573020 236380520 266853927 290790135 716307853 360085038 820867131 279366675 573407646 726485595 175239803 865346219 789585695 928311997 722638984 484434211 379305420 536207305 280059585 912862710 332519694 125931210 763414237 602478644 897329770 814163209 762003882 691043675 823803106 782661277 906735854 830072167 330829289 258318907 507004331 801506934 833871988 656232552 664955736 654840379 481171338 661658402 390706413 842105802 115930873 136269968 274355716 951005686 116560104 401346391 674628534 149984456 141477060 575631291 210323151 883816634 125942025 898591591 495999735 823615327 249588062 807444599 974807493 362897599 454672986 232758059 593231126 566918618 912007724 828849176 498131449 166353120 482586120 460295283 618590711 427566065 545267420 814044935 780915149 882273386 973897309 660760920 968114581 479503084 348516188 643780101 753919636 452245377 561121982 852253632 567935895 112973175 992215290 351920624 479090920 436019569 874210832 264647622 442758153 581862581 988644109 616941600 783373270 245837365 198633911 698375445 118141897 960624688 764367649 756567291 468066170 969219778 526202519 604123946 487946183 165562807 251195978 699773988 945669588 681471932 827525800 712913419 176383910 630991673 968956749 409774967 408819749 549604924 855679342 471784640 671998094 858114686 210807589 339844873 570861616 821896047 545293985 810877814 665251747 461728577 298927876 111670767 409502655 641319925 428132557 843625036 970790227 402889808 203885507 110009324 632137552 973608030 526475005 296325665 423230393 884704937 890889747 308196163 420123387 904702502 637880013 635543241 580240207 341675546 183947557 458099610 359912974 564712183 976418847 576351926 191316937 207890292 157477076 996770981 258649379 392892313 858258722 767467208 959593368 681530605 776064666 448373301 511928833 836666363 415098770 867677435 169651052 248419208 332108782 758747717 775236066 102442292 751199082 714948371 190717861 547352820 506288717 354163535 185504243 289170333 552895873 661584824 466489698 785591942 861919184 304106419 171583101 702513639 654876289 624959700 876437953 548943664 610050930 189133965 278134745 302166150 773507434 336389574 409435580 418208876 765762182 312743621 451257746 377656998 685726351 148558295 206378211 871741021 256938407 488982218 407649124 805525156 236676002 265461395 968010161 815025623 387611595 950744602 587288831 205489734 918261962 180840632 377320844 336332840 909568305 644595402 734187328 147197576 189316888 280640041 676114505 486668283 948434142 734152599 293635562 702288181 521066597 819314311 950500845 694054737 409659242 147920544 400676981 409004129 332770985 595828366 737467735 821925601 796185664 953976209 945575633 109063375 499609602 326359045 467271857 718083960 698200336 582801918 684398123 977524627 771041699 573985608 888366014 341222231 789508960 455001056 397859816 946925884 687147499 345155272 954764043 284524636 765544570 757277067 261260165 726169639 492244418 124899954 982882520 852945891 506647183 134402846 889365090 408977029 328478659 854454633 506285395 107076276 597921065 839203957 692030782 392288872 517072468 974207338 473066655 681893975 456033312 388234216 843163985 402865713 564937862 448550611 164086092 901301040 995507478 294260277 612342108 213107213 159967940 221276384 381288496 703301122 172011357 713462865 220213755 800473675 383877257 483282879 781422703 606331842 461181938 613028888 945025699 681484212 344139658 897981178 300183854 798659168 720846588 289254858 337367742 213380147 191070019 664590675 448752022 129495071 453551643 162038732 718575041 119540760 894711247 201419890 154071997 874406638 500004134 375431720 313044715 715816110 947323056 135701265 562344358 604354387 951720955 978597519 424586926 221206302 326122124 549680339 924477553 798176205 610836182 759921578 899424153 159720933 691508829 362748187 882190002 709104210 650659148 409710688 253816569 976605988 333575798 752710883 875036505 307655138 495194457 838160241 954194226 336014007 731663820 206509399 307538416 881833712 617836464 451049741 855736628 837100894 682975505 540990864 668441617 362112398 176723190 308884975 632979042 159439628 100069643 152313565 104949704 378260419 692121812 679535648 753375738 488130033 647663195 775307430 352630560 325855589 322334946 158889461 587165259 379119203 203116306 628416484 996967550 799574181 917288134 959677569 708099094 396858751 330332410 198380610 532606662 334338890 749104930 473061728 375545964 218740425 874334155 397222315 920331345 816702720 566876526 537318823 951662763 280698750 394963575 661386940 855111540 138293509 259385292 608918534 522756081 524772681 722906765 573030502 979761421 781614958 321592721 945847884 287165753 938362964 954912071 718769508 334666993 475803504 247776071 142292919 312776139 473340553 588932762 745451327 162670510 908429924 494175778 746008781 879003236 214440428 707799629 812945170 418009163 552699859 499912050 687107298 629381934 567997139 753009137 855884810 540236052 611644525 436341227 209924743 842766927 440949966 222279469 234359190 855838108 938905726 801339635 411840094 776103767 179604878 905340310 989212715 496797360 590932145 939289085 333688542 151238960 975632941 456129809 379573675 995932718 886169763 985254967 435631583 762231393 716202745 322599703 475510282 888979219 872306441 428280529 717777649 611212309 564348502 840565555 672609726 223421280 712653540 891030857 674092816 931780365 423308692 804317062 342399005 917343426 746936720 576796162 124157055 387875555 391417109 554020125 876286255 845696747 203021178 146085375 358967379 544625692 272449715 908981143 656767352 820705756 260641630 139871590 437987834 549275666 566060746 372156012 612106896 117204176 568798381 174535165 635763701 895995895 736285249 504551629 988433366 609042208 396279071 195873552 982411769 882655514 683245249 975652118 994930297 523494704 593239169 545741007 665535921 200727889 648377934 635059153 796530257 631332222 270033491 811687785 586716845 936001587 772498371 879558836 329342160 390430371 369008493 600441520 136383538 906437289 174543420 281483712 172785487 173577210 935320694 813188642 656874909 276760833 334299300 489335877 724291418 324110685 989378018 127265989 949180702 463168805 471053676 796386612 332631515 306854187 573076251 110169872 303694596 387008237 559133856 980109289 822859160 749035566 134964863 834715413 110441305 237858467 498960034 391805465 601974626 937177760 185803829 589776227 798133129 664265639 791786563 162626884 529784031 407662583 525977728 307521631 536948328 781795202 420336535 427618223 335189952 929529752 460880720 720554310 671475517 352364474 957314410 529067284 666967747 307119837 316852306 227480144 572928511 786359307 680839261 742306553 455866922 770056649 110208974 940479224 350764630 916114788 400608770 432016874 148741836 612447718 962324573 728433410 327926192 400273744 630344044 566784491 122949892 977271140 960445376 126956160 808525586 583597368 175123841 533611783 753743130 213102253 363804795 435659679 227222488 267956173 693872931 197653368 136700750 296760472 150571571 404705122 896139295 305779383 614620167 249138073 952632587 807575772 820911034 822484894 451160795 746986535 845370042 887997303 342542920 607696536 957661432 129734712 747767912 175383791 713813005 378200696 202548593 674547971 540445446 715272861 293646923 827620172 976683738 793425406 764285068 696202670 843435252 133358180 116704578 253294164 110891989 192716587 178403256 565580183 437737581 930637128 781565439 617870342 457403980 176615042 147220430 906745704 307749851 201139082 407538088 686814676 663947021 411400891 322514876 401798667 407846155 949934704 592541001 921225021 789107698 557512699 533987108 272478427 407094255 367383107 506588533 251361907 250571393 189164201 113580166 715023647 781368011 180542995 926178077 448284369 859771100 148751410 829995283 296415460 630348360 237176561 805430784 292425786 304736745 596860523 834982325 717252618 145449689 880757250 267437826 602076789 889109246 395987803 376252880 428209645 653891644 118461984 966154024 877991998 647025829 281892409 790805799 257677651 416427986 494428622 126073939 997850332 313268600 977970184 808232783 964724360 714090026 510503701 744003835 604188204 459098595 472597821 686656746 907957477 853739558 515823094 473892516 883080336 386309183 273792675 512217183 182555580 117695966 373547222 322317758 536178445 544177780 159314614 447703310 637051836 199398196 632051345 476749283 371821585 519587245 943887218 949758785 418814607 791210031 773170128 113356854 886484423 832144621 498143266 616242881 225551171 306807237 500796807 344923138 802788803 246440994 354490544 381924776 149662584 822861310 219749789 145513533 566511015 480719500 298547716 444298712 144682378 793265707 838116550 332411699 169968015 381311762 114297061 629532605 833146220 147506367 552049493 944261388 844449258 119323933 932379819 981595320 901624875 236792573 775316848 897691440 505323219 775900776 913526735 902972261 686898427 917086076 736429070 188662204 327940637 887475517 754255710 586077025 647950795 589306393 868136663 253007305 928901719 619434267 641823857 591532472 179336754 823312710 879124517 806909371 271043552 293006301 932214744 103843447 921774121 532947944 395513472 652823694 506870878 103318201 127204555 219308973 565514810 692700973 227491488 433981774 594943017 392327927 421379047 571251307 696444387 192266261 966116305 528337114 140217258 337661136 709616435 703328101 522027528 867273582 681158993 236502062 472624900 235814555 180918478 207739135 359890046 270269968 825701664 148779156 669746506 528805432 651820223 933889598 654182710 829243809 857671673 215656687 811818444 112097305 621223709 794791048 231877770 571613909 413296627 547592743 656485322 844232909 485736693 598284197 129695580 507847221 860282487 206009232 397846742 344207665 960707697 167306209 681680539 329143400 738013688 963548594 666989286 881190258 228562611 225277957 734223038 201927544 599103484 986052519 336075000 381151643 162289214 322478751 844475634 137005828 289916618 910231394 670611203 359946145 661920623 829783629 653143577 213692841 845356896 587435943 191469116 954125415 170669350 570625448 929737450 229731776 245556253 336433135 273046676 102466538 653308986 374540683 185896500 949827525 943263362 412772823 345056311 567724564 730187841 749571895 325156792 102735628 111137511 114162492 579565936 741175890 226141299 854042004 217284001 998823064 654331673 240882424 682547191 284483747 611786848 488746239 172801009 277610580 121070833 332659497 528022032 133322243 647022024 150452199 674064746 688933352 925032833 494896151 207143318 881944537 850850320 234525785 581960049 718631201 733471715 173556740 994013094 902269420 932768721 798325903 577918831 750516740 323478701 184673717 891046278 567824717 755540577 561750107 231537610 105945118 232369022 273744349 461309193 505000279 105442151 817737452 388459614 134315501 612133340 889879743 973732797 555721572 404882364 400716328 948835223 307339543 308083547 688858140 611656447 648606693 277887312 573237473 226720498 887176149 265540530 786797231 646952850 296566351 784842258 427804963 410705242 266390625 890086039 506792847 982151347 995356512 956664624 961435500 351054511 930553513 445489433 782501311 706624647 475590581 381331688 724796448 510233078 798776734 586015607 421576860 437381071 127288989 404657294 990156680 709229798 633435564 683041402 584633235 852321419 158236415 358329000 619643449 340478289 212457027 182766683 158823988 286652955 214862159 871296431 223858593 527939272 325055417 998816748 876883184 457557314 196347131 878248463 453167579 875393621 556898446 190993602 288262249 254322811 212527298 861255868 607175476 374826450 410691873 259009425 905009284 306243971 848871001 605554382 254081752 377590992 312818078 551683744 443298955 304524148 693683796 871563023 470419997 402665133 814032952 944974462 416586891 300699850 899403748 860282479 498822118 218760385 473816197 893908084 206678840 398166628 203249356 757768230 181142267 570666530 898218086 484183165 613500219 126563126 305493774 204102436 907219425 683093767 163769306 565082557 904031649 882453630 833659336 281798937 120357801 412933736 308410591 867082925 832822836 771055305 454950889 876619926 580323429 220242329 719874672 297685538 140178507 810462915 235230968 414035909 289535606 831565302 831004855 579232124 960372369 336858097 999311669 773576177 240334849 790169057 370340044 481032638 415858600 382382707 144125737 255030345 748240593 739012796 103861236 411302512 368097685 276417690 778733862 878346319 476385778 383119605 687368822 121486146 163181579 760974735 247304233 154531254 708021607 467422040 129951497 153684106 180282695 848999236 789948986 348504601 863916573 326832637 154167565 425125556 399079491 190867482 950080510 846251533 636024666 671447084 764567893 829350061 397259643 667174186 901524695 123563339 789291649 538250765 675123920 982820354 299790060 900966706 409313227 465544961 623087936 572407975 979127794 614527474 544458263 284636730 436872565 886603617 330940212 909361901 730679466 292862006 151149033 374336685 107152340 624735042 735024255 542490278 518772303 355715040 160385546 386245578 557397351 566833706 441357359 996481259 537217938 632145774 741596674 965448836 509378282 403579288 654169381 569751756 151281693 442336977 674290956 789952251 729188575 134372140 264091437 363794600 816142078 181606410 675112556 738054716 986877261 119766933 990427512 437253594 523231515 317225212 246318974 185430024 191881886 967429360 657655495 215243999 685791071 359797909 554100984 340737810 217430024 172317022 812025108 108960622 878543885 980748755 379621374 638119875 180766996 295817590 289376604 425592405 898806573 730203800 109297031 643772841 359848995 203863738 856348353 269705782 255213703 787754291 920874037 676823400 476228930 744273610 257098409 984716918 482030641 574778362 621682836 991559598 832139933 928359672 511148215 487720519 414411642 113788720 441311575 104899132 771683223 104187764 805186796 908434871 247337773 297054522 801113100 622572129 829465485 840885401 825447199 687963323 320392384 707126782 456870425 643027283 531487692 670194261 305690644 249433924 487827807 212034952 253192749 662315166 821291680 323971041 668055260 831264621 524135340 773998497 937085869 859927450 486780191 163254588 482957689 518155402 810299783 381878479 147260405 790236452 351133925 763393799 726507009 341050731 834427422 406732452 413113178 343202858 476796846 257510903 921607488 271180282 496674736 310523700 709925871 282472870 189945585 266794813 522658160 524366296 852937572 807320702 131513952 747273841 231874376 591127942 968807534 499126186 885902519 706544357 667834393 287913991 287350679 246754959 315649089 955097566 278431811 579207160 294696041 308530188 327572761 641496387 119485036 266527419 108528633 978226424 399567566 880654098 448351198 831952980 925285747 350418532 349395049 554060490 251075727 620168997 409547739 934375009 740005705 112139475 939240489 627871501 377975089 216141179 957075136 135721593 107281353 485726841 757766823 223075084 896680214 867666711 796505158 810432764 853105412 206159814 727436181 944223450 968866346 681063304 818893511 617833786 897591105 285398796 218864379 302979188 155116661 145619456 289233613 789325583 557009826 674934089 927471183 742142799 382930446 881362632 188531428 620813506 804849565 802039266 256683066 221669247 141889193 809632572 375821485 596106327 396916625 165928554 791829418 759765898 203814724 574557480 241989017 147021668 767245186 558703310 794159190 542408981 745038502 225896302 542674922 880236226 195075555 714563744 752731703 573846079 346152322 729506199 986058110 127392979 781009619 296362295 191733518 776982099 220003701 248804567 585577806 323268148 286340109 718867312 182564996 685649413 507196597 496524733 180277419 611194064 299374127 331188058 514588333 420859157 977517162 516390724 322972423 474737141 306431186 136917258 721819882 409657005 301458802 338246173 799111059 979978914 385493438 624043060 353217823 392793015 316394178 126583239 798939362 924466939 970296897 655600759 730012747 861466180 754953607 598303161 858643574 594936695 332078596 107532711 353993672 355590935 822917450 706392151 800769152 841416604 899182657 111283984 163433056 626339086 480042778 104458233 509316046 471540776 768297435 169006109 923294306 222513947 967516395 962014928 604089685 558210268 260378001 433721199 247231039 666612553 269902376 807583621 171163712 304339698 410526127 424419112 667968008 781955733 646313854 610156255 202588109 980814846 694383389 417841812 241729089 586743088 600502590 564023880 952176420 935599965 319745513 836251108 418249985 894956275 874995220 370136384 637198898 534965909 314392580 922257447 822782957 970612792 473794400 284381079 198242042 730348345 546530946 439211551 171915174 789788559 219785168 586088024 114542260 432232517 935207608 574762468 925893074 757192735 583506994 835470898 128939808 514698035 757622846 243023015 811994707 936564014 513348171 469203805 175354799 766345031 837866254 837056406 722091375 698333679 540076718 733765318 216211993 773152182 696837622 566982440 599535950 181808126 301157086 860383698 826431158 662462047 875042155 394285040 228135666 807790597 853792579 393657690 329830330 813569789 908703097 677183887 983014460 844099071 845648572 578457715 901728269 808202525 933840202 422481759 955440999 240772818 415029319 377279807 305609950 652731493 393607703 936618654 763412335 144413484 670257812 304328151 829592516 149710748 739364580 555941373 752680074 455416228 467648668 864189725 967248699 371441646 142800604 344191743 386712698 463059969 509915708 209904476 951209125 819059890 217987713 113161652 108803463 508683303 963115421 673836473 599558279 214318165 761861971 441043971 582471491 568100650 111590292 823057274 621939718 758436618 487468856 817263162 988815395 871719785 187373514 863354798 833130318 630751754 833717874 168111725 221668770 874738996 123886848 886561410 351511051 614096693 436216178 181184652 662615344 764640552 857473734 398168131 287732580 993198878 389125679 249932397 940291826 401259752 302117478 580527416 916605040 429030380 312326946 252127783 454878335 856765312 749846589 707709672 298019495 512857057 687538812 687818982 194291501 673438373 455959868 873396898 701004558 764660862 654171202 871481327 355177197 389863738 771012007 690716947 603105025 796115487 830050878 650968251 311364370 704618071 449366411 309611155 182655014 585225221 944577037 689383450 200169415 982702213 648018340 425298987 735853603 383344702 812439087 725059056 171182055 746216499 200495251 574718449 637363133 149505621 998145407 367626518 510294429 830654519 675861645 977551095 745737671 304473156 965646832 457554211 434147593 290387947 343158796 408771857 568105542 374554814 311674543 518621106 804366533 942172928 660224388 222979370 957163185 670755304 486514797 496951459 139758389 963999691 324698242 404548741 213018523 966366053 173254276 490789399 763546015 393835325 800345360 274232610 147394110 602237682 993907282 441530517 979214464 136752926 836731276 326923834 844844246 833123702 391104369 374542850 272507102 922252726 286785167 424425919 748228009 951199460 208287717 649924162 239007377 386142569 481150655 389872115 184763446 708387012 609350232 104317517 415815144 717625405 211332811 767651078 961583731 225263720 982428768 760287614 350125836 118851602 841903648 665965340 567323431 620306377 324963763 852073024 520029731 190464020 705730851 520357328 437926744 428820189 623347085 457468443 910071277 555092609 884163046 691032939 153152180 212453170 398603074 577762667 779760839 762872127 489859190 739672917 928245415 775995347 913770944 878971040 809037651 622537539 158624870 225726459 341542913 534570984 791404051 239474316 811947668 651617184 179033192 119362304 616789615 550156819 356303403 635521933 580780260 634976928 173459331 577019408 861442464 809727160 960818667 941487245 283326281 986582045 481283761 249800796 345140869 448833299 255828051 203452508 876748593 834652545 205442299 580091378 263163261 645523378 902535978 193224625 113764579 169125888 752998086 950075806 252695258 393946597 774660034 937468949 597310607 298157640 299014991 667616765 743858942 313891881 716220901 381712094 551511451 478895480 798449672 274270448 493379721 947490564 628944084 464551321 482744600 936206871 464495216 950285790 114029845 397010383 552187799 219980350 252779693 176104646 435825674 809627768 816857451 702587561 546279951 715266811 486208715 911535339 165813411 466051748 137355008 303032596 320601565 351685226 975755561 870366641 740443679 598049262 627840613 387851098 367698748 120737134 925334258 929505461 880263289 241840559 447581308 607244087 784816928 467277605 346871885 331186878 209548238 178639275 106510899 104414594 351405718 147396942 153098520 908311093 366356141 161188912 485684929 594737330 178812870 354708012 883643427 437117936 439148987 405085912 183291701 194468347 180334892 281133141 219692455 164278919 695220919 851206738 177586393 560359787 826967332 741173373 106892209 881950392 362323353 403420354 322472239 833195514 476879723 376729003 335842651 698350411 750932187 536536063 133313045 468689529 135249674 843337130 185125206 655415327 445054201 870658357 386145144 590604034 884555193 160546778 599182663 424099205 698984847 459326200 991847304 930977592 578967055 974914521 663968100 406363560 816617593 990386416 341049842 605462157 844841683 769870801 107833667 610098386 138096074 658921837 304349789 846773741 937042366 675623203 731708466 530506283 987424388 222629767 537692244 766010323 538233240 235800511 315252204 911046362 200023182 339349736 431320009 680344183 983714910 250409103 914812588 667347936 789794586 737480064 759784547 121355527 445353809 175988982 969560150 627686588 738817038 958784788 823148955 715695695 895445895 707323803 117311475 412790193 530595389 914768758 863464583 851144251 373730320 467434938 753126431 570484529 255775243 709596607 140947924 899545354 219481066 557556197 851406184 963087295 388172824 367369318 511245157 767946152 929420460 999677684 178264036 903001365 972716026 213413990 922713729 182650685 212601136 227661860 765794797 813459559 483790360 806933593 122458436 317047500 664938528 202159675 574343338 234264445 740153605 740070082 585213730 966489170 931087100 793685011 328814622 197890930 989745402 823568398 554512440 370101541 976492869 681112609 223582870 725364663 984903985 634227063 369977273 747167667 207622909 942953146 398065518 121872962 326768939 474546596 357222137 347282639 722538436 850365153 578191016 899756185 484455587 471667938 269602531 417036565 149870973 791862736 792493053 367803714 992494553 325767621 647088935 334095645 990565280 686395493 179338813 678547314 142814268 895377206 582694785 460707274 763941057 867419706 380450240 388999158 561108015 496089259 528692930 678523458 529643401 637797521 295018247 614139055 535625610 126627632 297141579 505814650 214352780 989311688 570164263 239157134 493181752 115178225 765099309 103481596 730926188 591915168 435743249 708493629 190647568 706659327 897363429 262728583 616229866 638216153 815859787 816495143 116168952 433106626 587240892 475523065 533127590 819125131 433676891 800729568 886275541 328463040 731749114 861522957 859654068 316558548 468100896 103633694 321389851 317549992 442626228 975259425 420598084 998375663 241092951 769919859 284187793 360346566 895453578 558239258 865552049 258571037 853380418 853347020 747950929 915801048 898920266 376808990 700603676 878083794 792308299 889014605 917400032 938398894 844736106 522134304 378397820 772086774 887440982 478850147 590395114 190516914 253128937 653747949 730968597 436490665 100701946 265322449 525088736 657222642 958885650 554211713 266737049 558179579 322876189 851997296 194282182 826866718 163054952 927388766 956740470 925873078 551152127 407230323 864174211 997816037 355269742 680485027 502816883 376983111 791376964 596372666 709454503 718390474 187560912 802053516 491432786 101868693 527083707 173723851 147219601 828559612 533491161 141340247 749660803 308005514 515863811 717690517 321068070 206111193 644725106 969013167 478224097 107160003 636414365 457761763 724066799 257275473 259022529 304405151 426872172 317016067 658701050 809333636 280044156 650964408 348608366 150575451 551515775 341025612 116751330 981993040 548673477 485833862 323648159 314632846 230307683 632624936 649585033 910720676 716918260 167240698 701969149 363165780 714528611 491863239 485534918 755841858 710671025 769362772 783761338 284586813 872060415 453467955 595185549 386582598 300458933 842876140 349288137 215524033 771110441 876132328 266373331 912765605 471500763 101616467 332058640 499736455 286683828 224301907 896351845 849279899 370039932 887732924 546609892 695698140 916249392 974599559 438220022 963863644 137380435 615810750 689701609 463299950 700292669 682312327 383198571 346292312 246880712 120329601 911869505 311732415 583425763 536393740 661540595 892195784 903449330 505786128 193165747 358780063 617551147 354506576 825487185 266339424 113264117 872119261 389686024 442458645 297337995 965265481 354414610 249483870 418891870 120824113 142572212 955473160 471116545 997750799 585396644 867208680 583360043 977440477 231592518 572277667 939481257 101824208 337490312 586462078 863179549 231916794 848609041 894568287 955193626 132182097 825359241 328422138 642779962 272125915 885977545 326255632 514211527 350500252 571208825 324142197 675460995 379027869 513520758 836321999 215059287 847460843 750149093 836529200 508481206 115417798 410469373 765222339 862092963 831073698 981867996 485343636 161670725 742583789 521729092 923950008 202019649 961382858 782452472 986248288 794981331 202660919 343759402 765010487 105102139 566092874 761520946 383411653 442093018 923048694 441386803 594626944 494779638 106270082 106268304 890622921 358310309 961794543 971401882 774076900 727597691 622302213 788041023 663163184 241316020 328079375 600710491 279257448 392552325 242979036 562790845 257830161 362446562 939446714 673633406 776392778 975401676 358417649 613512425 254757523 651941149 525474076 634885360 568410583 159759986 976349070 990565801 663357784 405388282 966969875 169474336 736950333 117560823 616568640 598948046 294937350 515995494 409587188 321671955 335931528 437442202 257108976 885150422 655156816 477397168 439313642 367259879 503187508 209469937 714578691 883412379 468909785 146223549 592799787 577142618 967193600 367922795 719798180 897216056 751158388 871018164 470734968 239021746 381368787 899297998 785071284 997265513 687849567 425296586 940652322 884760104 869769634 773014486 165609985 186558740 146332202 211376900 328493349 410511725 175568235 533093976 628528781 616020016 131682473 808774608 642574880 134114720 539869071 243077263 235955038 754159762 643957025 728088236 273202820 446808388 802584780 541905054 581383893 265557759 509843501 213368923 798710952 716659842 119053699 564194371 939837132 259552210 599636204 184322894 573688256 624222600 493924462 241597046 844355778 523141567 197624311 494612823 519857681 663330473 651215176 811983282 506801351 705041585 694081590 252517921 520361834 278631480 862618506 404943779 978297055 417431440 943881819 680013461 829576611 604962239 865481626 176939605 458088777 632324731 319772988 820430250 761502095 278920366 780620449 704560419 720876947 276551488 731423255 524158348 130923138 241337884 792785685 863000656 632007812 269689575 980157384 143933562 421125739 203291385 232235008 325800131 518474824 531419007 120846085 469630133 184713076 787318356 187333006 530013003 951976815 456384229 636500192 786693195 173339535 907657211 463172003 259806438 318739849 307385944 673769896 788915525 131423925 139496109 248154689 633929038 148351659 772173026 477995877 726338332 728203870 221688126 821384303 151386162 252498680 448007241 679277134 582771557 711463923 941338465 993105315 630185208 502749137 512690546 458253590 575457740 652393621 203267283 463711427 870825104 575431493 589764832 341920613 765095030 784535097 973132213 597671316 266350674 176451025 510244238 579030585 485787504 466419054 643135206 958685696 177027892 232540345 199591094 353984163 339101421 916691510 162854737 696811323 801498683 144599059 438470579 954263670 891111227 836382366 708787797 114638752 267675529 378860483 584753410 251369665 875105097 910333420 779234471 956916896 194296063 130798678 875609154 612081297 863747463 759321169 775543511 589016633 152976261 712045422 645208358 688589365 104872032 480213845 127104115 426002846 407373194 562512312 708918861 371704155 631432419 506683547 155327724 979108668 972592249 443092406 332569837 744330399 141884220 382346969 662954116 653541619 639674100 206453266 263281383 947041228 604110153 123379132 637412986 845586632 932634176 127339948 690677994 325240092 125237567 298340185 186817055 816095934 873213083 673167441 423678970 163175022 675384126 606699409 550210713 720561647
